代码改变世界

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

2013-01-19 16:40  山不转水转...  阅读(1046)  评论(2编辑  收藏  举报
--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 --删除临时文件