文件MSSQL 快速清空日志文件的方法(mssql 清除LOG)

要清空MSSQL日志文件,可以使用TRUNCATE 上的TRANSACTION操作,而不是非常耗时的BACKUP LOG WITH TRUNCATE_ONLY操作。 如果Mssql服务器不是在恢复模式下运行,则可通过备份空的记录日志来达到清空日志文件的目的。 在MSSQL服务器管理器SQL语句中输入以下语句,点击Execute按钮即可快速清空日志文件:

—— truncate transaction(s) log ——

–清空日志:

USE master;

GO

CHECKPOINT;

GO

BACKUP LOG [DATABASE_NAME] WITH NO_LOG

GO

USE master;

GO

DBCC SHRINKFILE ([DATABASE_NAME],2);

GO

此代码将清空日志文件,将日志文件大小设置为最小值,也无需重新启动数据库服务器。

Truncate transaction操作几乎与truncate log with no_log操作相同,不同之处在于,truncate transaction操作在清理过程中不需要备份操作,因此可以大大加快清理整地的速度。

然而,此操作要求数据库服务器在恢复模式下运行,若服务器不在恢复模式下,则无法使用TRUNCATE TRANSACTION操作备份空的记录日志来清空日志文件,此时则可以使用BACKUP LOG WITH TRUNCATE_ONLY操作来达到清空日志文件的目的,但此操作比较耗时。

另外,对日志文件定期压缩也是一个可行的解决方案,可以通过DBCC SHRINKFILE和DBCC SHRINKDATABASE等命令来实现,不过要留意该文件是否还需要进行备份,否则会丢失一些有用的数据。

总的来说,快速清空MSSQL日志文件的方法非常简单,只需在MSSQL服务器管理器SQL语句中输入以上语句,便可以快速清空日志文件,不过也要记得进行定期压缩,以最大程度保持系统的稳定性。


数据运维技术 » 文件MSSQL 快速清空日志文件的方法(mssql 清除LOG)