笔记115 得到SQLSERVER 2005 数据库的当前数据库中的数据文件所在磁盘的剩余空间insert into #FreeSpace(1)

笔记115 得到SQLSERVER 2005 数据库的当前数据库中的数据文件所在磁盘的剩余空间insert into #FreeSpace(1)

 1 --得到SQLSERVER 2005 数据库的当前数据库中的数据文件所在磁盘的剩余空间insert into #FreeSpace(1)
 2 exec xp_fixeddrives
 3 --指定数据库,直接select filename from <your_db_name>.dbo.sysfiles即可 GPOSDB是我机器的其中一个数据库在D盘
 4 declare @drivename char(1)
 5 select @drivename=left(filename,1) from GPOSDB.dbo.sysfiles where fileid=  1 --赋值所以没有结果网格显示
 6 SELECT 数据库所属驱动器=@drivename
 7 
 8 if not exists(select 1 from tempdb.dbo.sysobjects where name like '#FreeSpace%' and type='U')
 9   create table #FreeSpace(
10     Drive CHAR(1), --这里的数据类型不知道作者怎麽判断的,利用SQLPrompt也看不到数据类型Drive 可以是NVARCHAR \NCHAR\VARCHAR MB_Free一定要是INT类型 不然会报错
11     MB_Free INT
12     )
13 else
14       DROP  table #FreeSpace
15 
16 insert into #FreeSpace
17 exec xp_fixeddrives
18 
19 select  MB_Free AS 数据库所属驱动器剩余空间 from #FreeSpace where Drive = @drivename

 

posted @ 2013-08-03 22:36 桦仔 阅读(...) 评论(...) 编辑 收藏