MSSQL清理垃圾日志:恢复系统性能(mssql 清除LOG)

2023-04-21 11:55:21 性能 清理 清除

MSSQL清理垃圾日志也是提高系统性能的必须要素之一。随着时间的推移,数据库日志文件越来越大,会导致数据库性能变差。下面以MSSQL 2016为例,来清理垃圾日志,恢复系统性能:

首先,使用以下代码找出日志文件大小:

SELECT
name,
physical_name,
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB
FROM sys.database_files;

然后,如果存在明显的过大的日志文件,我们就可以使用以下代码清理垃圾日志:

USE [databasename]
GO
ALTER DATABASE [databasename]
SET RECOVERY SIMPLE;
GO
DBCC SHRINKFILE (1, 1024);
GO
ALTER DATABASE [databasename]
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
ALTER DATABASE [databasename]
SET READ_COMMITTED_SNAPSHOT ON;
GO
ALTER DATABASE [databasename]
SET RECOVERY FULL;
GO

以上命令将以1MB为单位缩放日志文件并设置恢复级别。

最后,除了使用代码清理日志文件,还需要更有效的搜索并关闭无效的进程,提升数据库系统的性能。另外,也可以使用其他的脚本对数据库进行优化,如更新统计信息等。

总之,清理垃圾日志可以有效提升MSSQL系统的性能,但也需要注意日志文件的大小以及其他相关优化信息,以确保系统能够正常运行。

相关文章