19

在为 SQL Server 配置 LogShipping 时,您可以选择辅助数据库处于无恢复模式或待机模式。无恢复意味着在进行日志传送时您无法访问数据库。Standby 为您提供只读访问权限,如果您选择在恢复即将发生时断开用户连接的选项,似乎不会干扰日志传送过程。在我看来,这就像待机模式的额外好处,但据我所见,文档没有提到任何不利影响。

因此,我想知道为什么有人会选择使用无恢复模式?我能想到的唯一可能的原因是待机模式是否导致性能显着下降(但在文档中没有提到类似的事情),或者是否有一些安全要求来主动阻止任何人看到辅助数据库的内容(这似乎很少见/不太可能)。

谁能告诉我选择无恢复模式的好处应该是什么?

4

1 回答 1

24

使用NORECOVERY模式时,不会授予对目标数据库的访问权限,因此数据库不必关心未提交的事务。日志可以“按原样”恢复并保持该状态。

使用STANDBYmode 时,数据库恢复为NORECOVERY,然后分析并回滚日志中所有未提交的事务。然后它可以为用户提供只读访问权限。当下一个日志恢复时,数据库会断开所有用户的连接,并在恢复之前再次将上一个日志中未提交的事务向前滚动。

如您所见,STANDBY根据您的事务量,在还原时可能会有很大的额外开销。

更多详细信息,请参阅My World of SQL 上的这篇文章

于 2013-01-21T21:59:49.540 回答