分享一个查看数据库文件空间使用率的sql
时间:2011-11-23
来源:互联网
这几天搞镜像数据库,结果主库的日志无限增大,数据文件才11G,日志文件已经增长到300G了,而且无法收缩,必须断开镜像,而技术部那帮懒人又嫌断开镜像麻烦,不想搞,最后只好让他们搞个job,通过每天备份事务日志来截断日志:
BACKUP LOG 数据库名 TO DISK = 'h:\log20111122.bak'
不过这样备份完毕后,日志文件还是300G,不会减小,只是文件使用率从原来的99%下降到45%,再备份一次,下降到1%了,下面就是查看文件使用率的sql:
USE 数据库名
GO
SELECT name, data_space_id 文件组id, size/128 [文件大小(兆)],
FILEPROPERTY(name, 'SpaceUsed')/128 [已用空间(兆)],
size/128 - FILEPROPERTY(name, 'SpaceUsed')/128 [未用空间(兆)],
FILEPROPERTY(name, 'SpaceUsed')*100.0/size [使用率(%)],
max_size/128 [最大值(兆)], growth 增长值, is_percent_growth 是否百分比增长, physical_name 物理路径
FROM sys.database_files a
也可以用下面的sql查看日志文件使用率(注:要管理员才有权限)
DBCC SQLPERF(LOGSPACE)
另外:sys.database_files是Sql2005以上才支持的系统视图,如果是Sql2000,请改用Sysfiles视图
BACKUP LOG 数据库名 TO DISK = 'h:\log20111122.bak'
不过这样备份完毕后,日志文件还是300G,不会减小,只是文件使用率从原来的99%下降到45%,再备份一次,下降到1%了,下面就是查看文件使用率的sql:
USE 数据库名
GO
SELECT name, data_space_id 文件组id, size/128 [文件大小(兆)],
FILEPROPERTY(name, 'SpaceUsed')/128 [已用空间(兆)],
size/128 - FILEPROPERTY(name, 'SpaceUsed')/128 [未用空间(兆)],
FILEPROPERTY(name, 'SpaceUsed')*100.0/size [使用率(%)],
max_size/128 [最大值(兆)], growth 增长值, is_percent_growth 是否百分比增长, physical_name 物理路径
FROM sys.database_files a
也可以用下面的sql查看日志文件使用率(注:要管理员才有权限)
DBCC SQLPERF(LOGSPACE)
另外:sys.database_files是Sql2005以上才支持的系统视图,如果是Sql2000,请改用Sysfiles视图
作者: youbl 发布时间: 2011-11-23
谢了,顺便接个分
作者: ssp2009 发布时间: 2011-11-23
还有一点,通过备份日志,使得日志文件不会增长,而是循环使用现在空间了,唯一的缺憾就是现在这300g的空间,就这么扔着了
作者: youbl 发布时间: 2011-11-23
帮顶,是不是备分后就可以切断日志了。这个空间更是大大的回来了吧。
作者: jinfengyiye 发布时间: 2011-11-23
不能,要切断日志,必须暂停镜像,不暂停,只是日志的头部前移了,使得日志文件里的一些空间变为可以重复使用
引用 3 楼 jinfengyiye 的回复:
帮顶,是不是备分后就可以切断日志了。这个空间更是大大的回来了吧。
帮顶,是不是备分后就可以切断日志了。这个空间更是大大的回来了吧。
作者: youbl 发布时间: 2011-11-23
谢谢分享。
作者: fredrickhu 发布时间: 2011-11-23
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28