突然发现某数据库的日志已经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

相关文章:

  • 2022-01-27
  • 2021-07-05
  • 2022-12-23
  • 2021-08-16
  • 2021-04-11
  • 2021-11-08
  • 2022-12-23
  • 2021-05-28
猜你喜欢
  • 2022-12-23
  • 2021-05-26
  • 2021-08-10
  • 2021-09-16
相关资源
相似解决方案