2013-01-21 43 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

相關問題