Sql-Server

SQL Server 2005 鏡像 2-1

  • July 3, 2009

我想將 sql-server 的單個實例設置為 2 個生產伺服器的鏡像備份,並且我需要使用證書身份驗證,因為它們不是 AD 域的一部分。

閱讀文件,它聲稱:

伺服器實例上的所有鏡像連接都使用單個數據庫鏡像端點,並且您必須在創建端點時指定伺服器實例的身份驗證方法。因此,您只能對每個伺服器實例使用一種形式的身份驗證來進行數據庫鏡像。

這是否意味著不可能使用一個實例來備份另外兩個實例的數據庫?

因為我需要在所有三台機器上創建證書(如果我理解正確的話),並且我使用每個端點的證書。我不應該能夠在我的備份機器上創建兩個使用不同證書的端點嗎?

您只能在該實例上創建單個數據庫鏡像端點。

您應該能夠簡單地在備份電腦上創建證書,並基於該證書創建端點。然備份份證書並將其導入兩個生產伺服器。在每台生產伺服器上創建一個證書(每個都有不同的名稱),然後將該證書備份並恢復到備份伺服器。

此時您應該準備好開始數據庫鏡像。

證書代表端點身份。一個實例只能有一個端點用於鏡像,並且該端點可以綁定到單個證書私鑰。端點連接到的所有對等點都必須具有與在端點上被授予 CONNECT 權限的登錄關聯的相同證書(只是公鑰)的副本。此部署始終是對稱的。

您可以在我的部落格上閱讀鏡像端點身份驗證的工作原理。

因此,在涉及一個實例(A)連接到其他 2 個實例(B 和 C)的情況下:

  1. 所有三個實例都有自己的證書 A->Ca、B->Cb、C-Cc,帶有私鑰,代表每個端點的身份。
  2. 所有三個實例都導出各自的證書(僅限公鑰)
  3. B 導入 A 的證書 Ca 並將 B’e 端點上的 CONNECT 權限授予 Ca 的所有者
  4. A 導入 B 的證書 Cb 並將 A 的端點上的 CONNECT 權限授予 Cb 的所有者
  5. C 導入 A 的證書 Ca 並將 C 端點上的 CONNECT 權限授予 Ca 的所有者
  6. A 導入 C 的證書 Cc 並將 A 的端點上的 CONNECT 權限授予 Cc 的所有者

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