SQL Server查詢可用磁盘空间

来源:互联网 发布:mac装windows 编辑:程序博客网 时间:2024/06/05 16:06

--> Title  : SQL Server查詢可用磁盘空间

--> Author : wufeng4552

--> Date   : 2009-10-30 09:59:09

前言

如果你的组织拥有的程序要求一个很大量的磁盘空间或者大比例的特定磁盘,那么确保在程序开始或者关键点时确认磁盘驱动器具有足够的存储。一次快速检查就可以节约大量的时间,减少烦恼和重新工作

如果磁盘空间很紧张或者大比例的磁盘需要用来进行该进程,那么在继续进行一个进程之前检查磁盘空间是一个明智之举. 使用SQL Server 2000 到 2008都提供的xp_fixeddrives扩展存储过程解决这个问题.

 

if object_id('sp_exec_getDiskSpace','P')is not null

drop proc sp_exec_getDiskSpace

go

create proc sp_exec_getDiskSpace

(

 @minMBfree int,

 @Drive varchar(2)

)

as

begin

  declare @MBfree int

  select @MBfree=0

  create table #tb_DiskSpace

  ([Drive] varchar(2),

   [MBfree] int)

  insert #tb_DiskSpace exec master.dbo.xp_fixeddrives

  select @mbfree=[MBfree]

  from #tb_DiskSpace

  where [Drive]=@Drive

  if @MBfree>@minMBfree

    return

  else

    begin

      raiserror ('*** ERROR *** - 磁盤空間不足!', 16, 1)

    end

  drop table #tb_DiskSpace

end

go

exec sp_exec_getDiskSpace 10240,'C'

/*

(5 個資料列受到影響)

訊息50000,層級16,狀態1,程序sp_exec_getDiskSpace,行21

*** ERROR *** - 磁盤空間不足!

*/

exec sp_exec_getDiskSpace 10240,'C'


http://blog.csdn.net/wufeng4552/article/details/4747692

0 0
原创粉丝点击