只读数据库上的事务日志有什么用?

时间:2010-08-25 13:58:33

标签: sql-server database

在Sql Server中,我发现当我将数据库标记为只读时,其现有的大型事务日志仍然存在。要修复此问题,我必须将其设置为可写,然后将dbcc shrinkfile设置为日志文件,然后再将其设置为只读。

如果数据库是只读的,那么事务日志的用途是什么?有没有理由它不会被删除/刷新?

2 个答案:

答案 0 :(得分:3)

如果您的数据库仍处于完全恢复模式,则没有正确的备份,日志将不会缩小。您应该将只读数据库切换为简单恢复。

此外,如果您决定分离/附加此数据库,则需要日志文件。如上所述here

  

相比之下,对于只读数据库,   日志无法重建,因为   主文件无法更新。   因此,当您附加只读   您的日志不可用的数据库   必须提供日志文件或文件   FOR ATTACH条款。

答案 1 :(得分:1)

只读数据库上的事务日志没有用处:-)假设您已经过了某个时刻,您不再关心为填充它而完成的事务。我想它并没有被刷新,因为那不是很好的默认行为,想象一下你是否想回到写模式?或者您在只读操作期间发现存在问题而您需要使用日志?