查询SQL Server中所有数据库的数据文件位置

--drop table #dbfiles

--deallocate cursor1



------

declare cursor1 cursor for 

	SELECT name from sys.databases



-- 临时表

CREATE TABLE #dbfiles

( 

dbname nvarchar(100),

filetype nvarchar(100),

filename nvarchar(200)

)



declare @name  varchar(100) --数据库名

declare @sql nvarchar(1024) --临时sql 语句



open cursor1



fetch next from cursor1 into @name



while @@fetch_status = 0

begin	

	set @sql = 'INSERT INTO #dbfiles SELECT ''' + @name + ''',name,filename  from ' + @name + '.sys.sysfiles';

	EXEC(@sql)



	fetch next from cursor1 into @name	

end



close cursor1                   --关闭游标

deallocate cursor1



select * from #dbfiles



drop table #dbfiles --删除临时文件

  

你可能感兴趣的:(SQL Server)