SQL Server 2008 (2008 R2) 清理日志方法

红太狼 2021-12-14 02:55 497阅读 0赞

突然发现某数据库的日志已经1.5G了,然而原来使用的截断日志的语句在2008中已经失效,在网上搜寻了一些方法,验证下面方法是有效的:

首先检查目标数据库的恢复模式:

SELECT NAME, recovery_model_desc FROM sys.databases

如果是Full,则需要改为Simple:

ALTER DATABASE Test SET Recovery simple

然后收缩日志文件:

DBCC SHRINKFILE (N’test_log’ , 10)

第一个参数是日志文件名,第二个参数是目标文件大小,以M为单位。

第一个参数名可以用以下方法确定:

USE DreamFree2010
SELECT NAME, size FROM sys.database_files

如此即可,日志文件已经收缩到目标的10M。

总结一下:

  1. 改Recovery mode为Simple
  2. 用DBCC SHRINKFILE收缩日志

参考:http://experiencing-sql-server-2008.blogspot.com/2008/02/sql-server-2008-truncating-transaction.html

转载于:https://www.cnblogs.com/Gildor/archive/2010/07/10/1774852.html

发表评论

表情:
评论列表 (有 0 条评论,497人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SQL Server 2008日志清理方法

    每次看到暴涨的数据库日志就有些头大,于是乱搜一通找个办法把日志干掉,下次又头大,又搜半天,于是还是写篇blog,不用乱找了。 1.将数据库设置成 简单 模式 选择要收缩的数