SQLServer 清理日志的实现
锅 人气:0本文以sql2012为例
第一步,(查询日志中文件名和大小):
USE 数据库名 GO SELECT file_id, name,size,* FROM sys.database_files;
查询结果如上图所示,可以看到其中name字段为日志文件名,size是日志大小,接下来就可以执行清理日志操作。值得注意的是,清理日志必须先将数据库转成简单模式,清理后再将数据库置为完全模式,具体的语句如下:
第二步,清理:
USE [master] GO ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 数据库名 SET RECOVERY SIMPLE --简单模式 GO USE 数据库名 GO DBCC SHRINKFILE (N'文件名' , 11, TRUNCATEONLY) GO USE [master] GO ALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE 数据库名 SET RECOVERY FULL --还原为完全模式 GO
其中文件名为第一步中查询出的name字段对应的内容。清理完成后,会发现日志的size变小了。
加载全部内容