本文以sql2012为例第一步,(查询日志中文件名和大小):USE数据库名GOSELECTfile_id,name,size,*FROMsys.database_files;查询结果如上图所示,可以看到其中name字段为日志文件名,size是日志大小,接下来就可以执行清理日志操作。值得注意的是,清理日志必须先将数据库转成简单模式,清理后再将数据库置为完全模式,具体的语句如下: 第二步,清理:USE[master]GOALTERDATABASE数据库名SETRECOVERYSIMPLEWITHNO_WAITGOALTERDATABASE数据库名SETRECOVERYSIMPLE--简单模式GOUSE数据库名GODBCCSHRINKFILE(N'文件名',11,TRUNCATEONLY)GOUSE[master]GOALTERDATABASE数据库名SETRECOVERYFULLWITHNO_WAITGOALTERDATABASE数据库名SETRECOVERYFULL--还原为完全模式GO其中文件名为第一步中查询出的name字段对应的内容
本文以sql2012为例
第一步,(查询日志中文件名和大小):
USE 数据库名GOSELECT file_id, name,size,* FROM sys.database_files;
查询结果如上图所示,可以看到其中name字段为日志文件名,size是日志大小,接下来就可以执行清理日志操作。值得注意的是,清理日志必须先将数据库转成简单模式,清理后再将数据库置为完全模式,具体的语句如下:
第二步,清理:
USE [master]GOALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE 数据库名 SET RECOVERY SIMPLE --简单模式GOUSE 数据库名 GODBCC SHRINKFILE (N'文件名' , 11, TRUNCATEONLY) GOUSE [master]GOALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE 数据库名 SET RECOVERY FULL --还原为完全模式GO
其中文件名为第一步中查询出的name字段对应的内容。清理完成后,会发现日志的size变小了。
到此这篇关于SQLServer 清理日志的实现的文章就介绍到这了,更多相关SQLServer 清理日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!