Tra*_*vis 11 sql-server sql-server-2012 transaction-log recovery-model
虽然我在做我自己的调查,没有人知道为什么在数据库SIMPLE
恢复模型LOG_BACKUP
的log_reuse_wait_desc
?
SQL Server 2012 SP1。几周前创建的数据库。没有复制,没有镜像,没有日志传送,而且从来没有过这些。
我们确实备份了数据库并恢复到另一个实例,它显示SIMPLE
并NOTHING
在log_reuse_wait
另一个实例中。但我不认为还原到另一个实例是重现问题的好方法,因为还原操作会前滚/回滚事务。
Tra*_*vis 11
好的,昨天花了一天一夜的时间调查、测试并试图重现问题。找到根本原因:
MODEL
数据库设置为SIMPLE
恢复模式。
如果模型数据库已设置为SIMPLE
恢复模型,并且用户数据库是使用SIMPLE
恢复模型创建的,则 SQL Server 会以某种方式将其视为在FULL
恢复模型中。因此等待LOG_BACKUP
截断日志。
我已在此链接中列出了步骤,以展示我如何重现该问题。
我认为根本原因是如果用户数据库是使用简单恢复模型创建的(而不是之后更改),那么它就会出现这个问题。我将其归咎于模型数据库,因为这是使用定义的恢复模型创建用户数据库的唯一方法。
这在 Microsoft 知识库文章 2830400 中有所记录,并在 SQL Server 2012 SP1 CU4 和 RTM CU7 中得到修复:
归档时间: |
|
查看次数: |
3004 次 |
最近记录: |