所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

SQL Server长时间运行可能导致磁盘空间写满

发布时间:  2014-05-22 浏览次数:  728 下载次数:  6

问题描述

1. SQL Server数据库的日志和Windows 2008的日志有”The transaction log for database 'ICD_DB_SERVICE' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases”的告警。

2. 运行DBCC SQLPERF (LOGSPACE)命令检查各个数据库的log空间,发现ICD_DB_SERVICE的log空间全部占满。见下图:

告警信息

The transaction log for database 'ICD_DB_SERVICE' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases

处理过程

1. 手工备份ICD_DB_SERVICE的Transaction Log,如下图所示:



2. 以sa用户运行DBCC SQLPERF (LOGSPACE)。运行后ICD_DB_SERVICE数据库的log空间占用率大大降低,如下图。告警消失,并且写ICD_DB_SERVICE数据库成功。



根因

因为SQLSERVER 的recovery modal设置为full,该模式下,SQLSERVER会将所有业务的操作都进行归档,用于数据库异常后,恢复数据库。如果归档日志没有及时备份,会越来越大,直到爆满了为止。需要定期手动备份来解决。

建议与总结

定期手动备份SQLSERVER数据库。

END