SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
DBA 日常管理工作中,很重要一项工作就是监视数据库文件大小,及日志文件大小。如果你管理数据库的有很多的话,每天一个一个数据库的去查看文件大小就太费神了,那就写个SQL脚本吧,放到 SQL Agent 中,每天自动去查看各个数据库文件及日志文件的大小,然后再通过数据库邮件,Email 到我们手中,岂不快哉!当然,可以把每天的记录存放到数据库中去,这样数据库及日志文件的增长趋势,我们也就一目了然了。
这里,介绍下获取数据库日志文件大小的方法。其实很简单,就是执行 SQL Server DBCC 命令:dbcc sqlperf(logspace)
dbcc sqlperf(logspace)
Database Name Log Size (MB) Log Space Used (%) Status -------------- ------------------------ ------------------------ ----------- master 2.2421875 32.600174 0 tempdb 0.4921875 39.285713 0 model 0.4921875 41.07143 0 msdb 2.2421875 30.901567 0 pubs 0.7421875 49.934212 0 Northwind 0.9921875 34.940945 0
dbcc sqlperf(logspace) 可以获取实例中每个数据库日志文件大小,及使用情况。如果要保存SQL日志文件大小,则需要先创建一个数据表,然后动态执行dbcc sqlperf(logspace)命令:
create table dbo.LogSize ( dbname nvarchar(50) not null ,logsize decimal(8,2) not null ,logused decimal(5,2) not null ,status int null )
insert into dbo.LogSize execute('dbcc sqlperf(logspace) with no_infomsgs')