MSSQL 优雅清理LOG,节省数据库空间(mssql 清除LOG)
随着业务和数据库活动的增加,微软SQL Server数据库中的日志文件(Log)会增长至很大的尺寸,从而占据数据库磁盘空间,甚至导致数据库也收到影响。
MSSQL通过日志文件的管理控制数据库的安全性和可靠性,但是在大多数应用行业中,我们并不需要长期保存这些日志文件,所以,我们可以定期对这些日志文件进行清理,节省磁盘空间,提高系统性能。
MSSQL 优雅清理LOG 的方式有三种:
(一)使用系统 stored procedure
我们可以使用微软提供的一个stored procedure `sys.sp_cycle_error_log` 来“循环日志”,即定期清理错误日志。以下是该存储过程的代码:
“`sql
EXECUTE sp_cycle_error_log
执行上面的存储过程,将对默认的SQL Server错误日志文件“ERRORLOG”进行重新循环,从而释放出当前日志文件的空间。
(二)使用SQL Server Management Studio
可以使用微软提供的SQL Server Management Studio快速轻松地进行日志清理,步骤如下:
1. 右击“服务实例”,从菜单中选择“属性”。
2. 选择“日志文件”选项卡,在“日志文件属性”窗口中发现有两个按钮,分别是“清除”和“重新创建”,我们可以用这两个来清理日志文件。
3. 选择“清除”,如果当前日志的活跃状态是ALTER,则会自动进行日志重新循环。
(三)手动清理日志文件
如果我们使用的安装版本大于SQL Server 2008,可以手动清理日志文件。即我们可以将当前的日志文件直接删除,然后在数据库下新建日志文件,以达到清理日志的目的。使用如下代码进行清理:
```sql-- 删除原始日志
ALTER DATABASE [数据库名称] REMOVE FILE [以前文件名+日志]
-- 重建日志ALTER DATABASE [数据库名称] ADD LOG FILE ([新文件名+日志],'新路径')
以上就是MSSQL优雅清理Log的方式,在业务合理设置定期LOG清理策略之后,可以有效缓解那些占用大量空间的 log 日志,节省数据库空间资源。