1、在sql中执行Exec master.dbo.xp_fixeddrives 可以得到磁盘剩余空间。
drive MB 可用空间
C 22635
D 75430
E 130667但是我想要得到的结果是GB格式。一位大仙告知,在sql2005、2008中可以执行如下代码可以得到GB格式。
declare @t table (drive varchar(2),free decimal(18,4))
insert into @t
Exec master.dbo.xp_fixeddrives
select drive,free=free/1024  from @t但是在sql2000中不行。因为SQL 2000不支持
 INSERT INTO @TempAssTb
EXEC SP_ExecuteSql @TempSql 
这种语法。不知道其他大仙有什么其他办法,谢谢!

解决方案 »

  1.   

    --我本地没有2000的环境,你试试临时表行不行?
    create table #t(drive varchar(2),free decimal(18,4))
    insert into #t Exec master.dbo.xp_fixeddrives
    select drive,free=free/1024 from #t
    drop table #t
      

  2.   

    @Table这是声明的静态Table,SQL2000版本不支持。#Table为临时表,应该是可以的。
      

  3.   

    在虚拟机器里装了个sql2000 测试通过
    结果如下C 4.236328125
    D .207031250
    =========================================================================================