SQL SERVER数据库文件大小查看.
日常维护过程中,数据库文件的大小有时候会对查询性能造成一些影响,同时由于磁盘空间不足导致的一些问题也经常发生,因此查看数据库的文件大小就免于一个个库手动去看.
提供一些简单的查询脚本,大家可以试验一下.
--查询当前实例所有DB大小
create table #temp(dbname nvarchar(200),dbsize_MB int)
exec sp_msforeachdb 'use [?];
if db_id()>4
begin
insert into #temp select ''?'' as a,(sum(size)*8)/1024 from sys.sysfiles
end'
select * from #temp
drop table #temp
GO
--查看当前实例所有DB各个文件大小(数据文件大小,数量和日志文件大小,数量)
Create TABLE #temp (dbname VARCHAR (255), [filename] varchar(255), [filesize] float, [filetype] tinyint)
exec sp_msforeachdb 'use [?];
if db_id()>4
begin
insert into #temp select ''?'' as dbname,name, convert(float,size) * (8192.0/1024.0)/1024./1024.,(case when groupid > 0 then 1 when groupid = 0 then 0 end) as filetype from dbo.sysfiles
end'
select dbname,(case when filetype = 0 then 'LOG' when filetype = 1 then 'Data' end) as 'filetype',SUM(filesize) as 'filesize(GB)',COUNT(filetype) as filenums from #temp group by dbname,filetype order by dbname
drop table #temp