事务日志已满

0 sql sql-server sql-server-2008

我得到低于错误。

数据库“CRM_QA_V6”的事务日志已满。要找出无法重用日志中的空间的原因,请参阅可能由 IncludeExceptionDetailInFaults=true 创建的 sys.databases 中的 log_reuse_wait_desc 列

当我执行下面提到的查询时,我得到了输出:

Query: select log_reuse_wait_desc from sys.databases where name ='CRM_QA_V6'

Output: 'NOTHING'
Run Code Online (Sandbox Code Playgroud)

And*_*mar 6

当您的事务日志变得太大时,首先要检查您的备份是否正常工作。根据恢复模式,事务日志会不断增长,直到您对其进行备份。

如果您实际上不想要备份,并且您的恢复模式不是simple,您可以将其更改为简单:

alter database YourDb set recovery simple with no_wait
dbcc shrinkfile(YourDbLog, 1)
Run Code Online (Sandbox Code Playgroud)

在简单模式下,备份日志不会尝试存储自上次备份以来的所有更改。它只保留足够的信息来回滚未完成的事务。这样,即使您从不备份数据库,文件的大小也会受到限制。