查询所有数据库文件的可用空间

有时候会查询一下实例下所有数据库文件的可用空间,SSMS上没有汇总的地方,仪表盘又只日志文件的可用空间,于是写了一个SP自己用.

/**
author:Joe.TJ
date:20130328
desc:get the free space of database file
**/
create proc usp_GetFreeSpace
as
set nocount on;
declare csr cursor for select name from sys.databases where database_id>4;
declare @cmd varchar(2000);
declare @db varchar(50);
create table #res([db_name] varchar(50),[file_name] varchar(50),current_size_mb float,free_space_mb float);
open csr
fetch next from csr into @db;
while(@@FETCH_STATUS=0)
begin
set @cmd=
'use '+@db+
' select DB_NAME() as db_name,name as file_name,
size/128.0 as current_size_mb,(size-FILEPROPERTY(name,'
'SpaceUsed''))/128.0 as free_space_mb
from sys.database_files'
;
insert into #res
exec(@cmd);
fetch next from csr into @db;
end
close csr;
deallocate csr;
select * from #res;
drop table #res;
set nocount off;

转载于:https://www.cnblogs.com/Joe-T/archive/2013/03/28/2986776.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值