Sql-Server

SQL Server 2005 鏡像數據庫恢復

  • August 6, 2009

場景:我們希望在 Active Directory 域環境中使用 SQL Server 2005 Standard 版本的數據庫鏡像和見證伺服器。數據庫來自第 3 方應用伺服器,除了 DB 連接字元串外,該伺服器無法修改。

與此相關的兩個問題:

  1. 我們如何才能讓我們的 3rd 方應用伺服器花費盡可能少的錢使故障在某種程度上不可見(或者至少需要更少的手動工作)?我的想法是設置指向主伺服器的 DNS“sqlserver.ourdomain”並在連接字元串中使用它。如果它失敗了,我們將 DNS 更改為指向鏡像並重新啟動應用伺服器。不是隱形的或自動的,但很便宜,似乎應該可以工作。
  2. 我們如何在失敗後將事務從輔助節點推回主節點並重新提升主節點?此過程必須考慮“撤消”#1 中的故障轉移模式。顯然,如果我們使用上面的 DNS 選項,我們會將 DNS 重新指向主伺服器,但我如何讓系統像以前一樣恢復 - 主伺服器從鏡像中更新,而鏡像降級回鏡像?

問題1:你想多了。SQL 2005 的數據庫鏡像規範內置於連接字元串中。您在連接字元串中同時指定主伺服器和鏡像,驅動程序會按順序嘗試這些伺服器。這是數據庫鏡像的優點之一 - 不需要更改客戶端應用程序。

更多資訊在這裡:http: //msdn.microsoft.com/en-us/library/5h52hef8.aspx http://msdn.microsoft.com/en-us/library/ms366348.aspx

問題 2:您說您使用的是見證伺服器,所以我假設您使用的是自動故障轉移。SQL 2005 的數據庫鏡像會自動完成這些工作 - 更多資訊在這裡:

http://msdn.microsoft.com/en-us/library/ms189590.aspx

如果您不使用自動故障轉移,那麼它仍然很容易:您只需右鍵點擊數據庫,進入數據庫鏡像,您可以將數據庫從主數據庫來回切換到輔助數據庫,反之亦然。在重啟等中斷後,它們會自動恢復同步。

引用自:https://serverfault.com/questions/5349