2013-01-21 50 views
13

为SQL Server配置LogShipping时,可以选择辅助数据库处于“无恢复”模式或“备用”模式。没有恢复意味着您在日志传送过程中无法访问数据库。备用服务器为您提供只读访问权限,如果您选择在还原即将发生时断开用户连接的选项,则似乎不会干扰日志传送过程。这看起来像是待机模式的额外好处,但据我所知,该文件没有提到任何不利影响。Log-Shipping:为什么你会选择无恢复模式?

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

任何人都可以启发我选择无恢复模式的优势应该是什么?

+7

我不明白为什么这被认为是题外话。与之相关的常见问题解答包括“程序员常用的软件工具”标准。 Log-Shipping是SQL Server的一部分,这是程序员非常明确的常用操作,而且对StackOverflow的搜索结果显示LogShipping的问题在这里被询问和回答。 – PhantomDrummer

回答

16

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

当您使用STANDBY模式时,数据库将恢复为NORECOVERY,然后分析并回滚日志中所有未提交的事务。然后它可以给用户提供只读访问权限。当下一个日志恢复时,数据库将断开所有用户的连接,并在恢复之前再次将未提交的事务从最后一个日志转发。

如您所见,STANDBY在恢复时可能会有额外的额外开销,具体取决于您的交易量。

更多详情at this article at My World of SQL

相关问题