適用於:Azure SQL 受控執行個體
學習如何使用 SQL Server Management Studio(SSMS)配置 SQL Server 與 Azure SQL 受控執行個體 之間的單一資料庫模式連結。 這個連結能將資料庫從最初的主副本複製到次要副本,幾乎是即時的。
建立連結後,你可以切換到次要副本進行遷移或災難復原。
注意
- 你也可以用 腳本來設定連結。
- 從
SQL Server 2022 CU10 開始,支援將 Azure SQL 受控執行個體 設定為初始主體。
概觀
使用連結功能,將資料庫從初始主複本複寫到次要複本。 對於 SQL Server 2022,初始的主要節點可以是 SQL Server 或 Azure SQL 受控執行個體。 對於 SQL Server 2019 及更早版本,首字母必須是 SQL Server。 設定連結後,初始主副本的資料庫會複製到次要副本。
你可以選擇保留連結,在混合環境的主副本與次要副本之間進行持續資料複製,或是將資料庫切換到次要副本,以遷移到 Azure 或用於災難復原。 在 SQL Server 2019 及更早版本中,切換到 Azure SQL 受控執行個體 會斷開連結,且不支援回傳。 在 SQL Server 2022 和 SQL Server 2025 中,你可以選擇維持連結,並在兩個副本間來回故障。
如果您打算僅使用次要受控執行個體進行災害復原,您可藉由啟用混合式容錯移轉權益來節省授權成本。
請依照本文說明手動設定 SQL Server 與 Azure SQL 受控執行個體 之間的連結。 建立連結之後,來源資料庫就會在目標次要複本上產生唯讀的複本。
必要條件
若要透過連結將您的資料庫複寫至次要複本,必須符合下列必要條件:
- 一個有效的 Azure 訂閱。 如果您沒有訂用帳戶,請建立免費帳戶。
- 支援的 SQL Server 版本已安裝必要的服務更新。
- Azure SQL 受控執行個體. 如果您尚未擁有它,那麼請開始。
- 最新的 SQL Server Management Studio(SSMS)。 多資料庫連結模式需要 SSMS 22.10.2 或更新版本。
- 已正確備妥的環境。
請考慮下列事項:
- 本文描述單一資料庫連結模式,即每個連結複製一個資料庫。 對於包含多個資料庫的現有 Always On 可用性群組,請依照 將 Always On 可用性群組延伸至 Azure SQL 受控執行個體(預覽)。
- SQL Server 和 SQL 受管理執行個體 之間的整合應該是一樣的。 因排序規則不符可能導致伺服器名稱大小寫不一致,從而阻礙 SQL Server 與 SQL 受管理執行個體 之間的成功連線。
- 你在初始 SQL Server 主伺服器上出現錯誤 1475,表示你需要建立一份完整備份,且未使用
COPY ONLY選項來啟動新的備份鏈。 - 若要建立 SQL 受管理執行個體 至 SQL Server 2025 的連結或故障轉移,您必須使用 SQL Server 2025 更新政策配置您的 SQL 受管理執行個體。 設定更新政策不匹配的實例不支援資料複製與故障轉移 從 SQL 受管理執行個體到 SQL Server 2025。
- 若要建立連結,或在故障時切換,從 SQL 受管理執行個體 到 SQL Server 2022,您必須使用 SQL Server 2022 更新政策來設定您的 SQL 受管理執行個體。 資料從 SQL 受管理執行個體 複製到 SQL Server 2022 並進行故障轉移的操作,在更新政策不匹配的實例中不受支援。
- 雖然你可以從支援版本的 SQL Server 建立連結到設定為Always-up-to-date更新政策的 SQL 受管理執行個體,但在故障轉移至 SQL 受管理執行個體 後,無法複製資料或回復到你的 SQL Server 實例。
權限
SQL Server需要 sysadmin 權限。
Azure SQL 受控執行個體 需要成為 SQL 受管理執行個體 貢獻者 角色的成員,或擁有以下自訂角色權限:
| Microsoft.Sql/資源 | 必要權限 |
|---|---|
| Microsoft.Sql/managedInstances | /read、/write |
| Microsoft。Sql/managedInstances/hybridCertificate | /action |
| Microsoft。Sql/managedInstances/資料庫 | /read、/delete、/write、/completeRestore/action、/readBackups/action、/restoreDetails/read |
| Microsoft。Sql/managedInstances/distributedAvailabilityGroups | /read、/write、/delete、/setRole/action |
| Microsoft。Sql/managedInstances/endpointCertificates | /read |
| Microsoft.Sql/managedInstances/hybridLink | /read、/write、/delete |
| Microsoft。Sql/managedInstances/serverTrustCertificates | /寫入、/刪除、/讀取 |
準備資料庫
如果 SQL Server 是你的初始主要伺服器,你需要建立資料庫備份。 由於 Azure SQL 受控執行個體 會自動備份,如果 SQL 受管理執行個體 是你的初始主要備份,可以跳過這一步。
當您建立連結時,主副本和次副本之間的初始化種子是透過完整備份主副本的資料庫,將其轉移到次副本,然後在次副本上還原該資料庫。 當您進行完整備份時,我們建議您使用 WITH CHECKSUM 該選項來確保備份有效且無任何損壞。 更多資訊請參見 BACKUP (Transact-SQL)。
使用 SSMS 備份你的資料庫到 SQL Server。 執行下列步驟:
- 在 SQL Server Management Studio(SSMS)中連接你的 SQL Server。
- 在物件總管,右鍵點擊資料庫,將滑鼠移到Tasks,然後選擇Back up。
- 針對備份類型選擇 [完整]。
- 確定 [備份至]選項具磁碟備份路徑,且有足夠可用儲存空間。
- (可選但建議)在 媒體選項 標籤中,勾選 在寫入媒體前執行校驗,讓 SQL Server 在建立備份後驗證其完整性。
- 選取 [確定] 以完成完整備份。
如需詳細資訊,請參閱建立完整資料庫備份。
注意
此連結僅支援使用者資料庫的複寫。 不支援複寫系統資料庫。 要複製儲存在 master 或 msdb中的實例層級物件,並用腳本將其輸出,並在目標實例上執行 T-SQL 腳本。
建立複寫資料庫的連結
啟動精靈之前,請在受支援的 SQL Server 組建版本上使用追蹤旗標 12381,以防止在植入期間交易記錄遭到過早截斷,尤其是在大型資料庫中。 在所需紀錄被保留期間,日誌備份可以持續進行。 監控 SQL Server 記錄檔的增長和剩餘磁碟空間,並在您建立的所有連結都完成植入後停用該旗標。
在接下來的步驟中,請使用 SSMS 中的 New 受控執行個體 link 精靈,建立初始主副本與次要副本之間的連結。
建立連結之後,來源資料庫就會在目標次要複本上產生唯讀的複本。
開啟 SSMS 並連線到初始的主要伺服器。
在 物件總管,右鍵點擊你想連結到次要資料庫的資料庫,將滑鼠移到 Azure SQL 受控執行個體 link,然後選擇 New... 以開啟 New 受控執行個體 連結精靈。 如果你的 SQL Server 版本不支援,這個選項在右鍵選單中就無法使用。
在精靈的 [簡介] 頁面上,選取 [下一步]。
在 「指定連結選項 」頁面,提供連結名稱。 如果你選擇多個資料庫,精靈會自動把資料庫名稱加到你提供的名稱後面,這樣你就不用自己加了。 如果你想啟用連線故障排除,請勾選方框,對於 SQL Server 2022 或 SQL Server 2025,如果你打算使用連結進行雙向災難復原。 選取 [下一步]。
注意
若要透過單一連結複寫多個資料庫,請使用 SSMS 22.10.2 或更新版本中的 多資料庫連結模式(預覽),並在每個 SQL Server 複本上啟用此模式。 無需申請進入。 本文的步驟是配置單一資料庫連結。
在 [需求] 頁面上,精靈程式會驗證需求以建立到您的次要實體的連結。 在驗證所有需求之後選取 [下一步],或解決不符合的任何需求,然後選取 [重新執行驗證]。
在 [選取資料庫] 頁面,選擇您想要透過連結複寫至次要複本的資料庫。 選擇多個資料庫會建立多個分散式可用性群組,每個連結對應一個。 選取 [下一步]。
在 「指定次要副本 」頁面,選擇 新增次要副本 以新增你的次要副本。 如果您的初始主伺服器是 SQL Server,此操作將開啟 Azure 的登入視窗。 如果你的初始主裝置是SQL 受管理執行個體,這個動作會開啟 Connect to server對話框。
- 對於 SQL Server 初始的主要實例,登入 Azure,從下拉選單中選擇訂閱、資源群組和次要 SQL 管理實例。 選擇 Login 開啟 Connect to Server對話框,然後連接到你想要複製資料庫的SQL 受管理執行個體。 當你在登入視窗看到登入成功時,選擇OK關閉視窗,返回新受控執行個體連結向導。
- 對於 SQL 受管理執行個體 初始的主要實例,請連接到你想要複製資料庫的 SQL Server 實例。
注意
若要建立連結到已存在的可用性群組,請在指定次要副本頁面端點標籤的端點 URL 欄位中提供該監聽器的 IP 位址。
在新增次要複本之後,如有需要,請使用精靈的索引標籤來修改端點設定,並針對其餘索引標籤檢閱備份與連結端點相關資訊。 在您準備好繼續後,選取 [下一步]。
如果 SQL 受管理執行個體 是你的初始主要節點,精靈的下一頁是登入 Azure頁面。 如有需要,請再次登入,然後選取 [下一步]。 當 SQL Server 是你的初始主要伺服器時,此頁面無法使用。
在 [驗證] 頁面上,確定所有驗證都成功通過。 如果有任何失敗,請加以解決,然後重新執行驗證。 當您就緒時,請選取 [下一步]。
在 [摘要] 頁面,再次檢閱您的設定。 您可選擇性選取 [指令碼] 來產生指令碼,以便您可於未來輕鬆重新建立相同連結。 當您準備好建立連結時,請選取 [完成]。
[執行動作] 頁面會顯示每個動作的進度。
完成所有步驟之後,[結果] 頁面會在成功完成的動作旁顯示勾號。 您現在可以關閉視窗。
檢視複寫的資料庫
建立連結後,資料庫會複製到次要副本。 視資料庫大小和網路速度而定,次要複本資料庫一開始可能會處於 [還原中] 狀態。 初始植入完成後,資料庫會還原至次要複本,並且已可供唯讀工作負載使用。
在任何一個副本上,使用 SSMS 中的 物件總管 來查看複本資料庫的 Synchronized 狀態。
展開 [Always On 高可用性] 和 [可用性群組],以檢視為各別連結建立的分散式可用性群組。
無論哪個實例是主實例,你也可以在SQL Server上右鍵點擊連結的分散式可用性群組,並選擇顯示儀表板,以查看分散式可用性群組的儀表板,顯示分散式可用性群組中連結資料庫的狀態。
進行第一個交易記錄備份
當 SQL Server 作為主要複本時,如果您在受支援的組建版本上啟用 追蹤旗標 12381,就可以在植入期間繼續執行交易記錄備份。 如果你為了避免過早截斷而暫停日誌備份,請在初始播種結束後恢復備份。 如果你還沒開始日誌備份,建議在初始做種結束後先做第一次 交易日誌備份 。 在您建立的所有連結都完成植入後,如果您已啟用該旗標,請將其停用,並在 SQL Server 仍為主要複本時定期備份 SQL Server 交易記錄。
如果 SQL 受管理執行個體 是你的主要備份,你不需要採取任何操作,因為 Azure SQL 受控執行個體 會自動備份日誌。
卸除連結
如果你想刪除連結,不管是因為它已經不再需要,還是因為它處於無法修復的狀態需要重新建立,你可以使用 SQL Server Management Studio(SSMS)來完成。
連接你的實例後,你可以從 SSMS 物件總管 的選單選項中刪除該連結:
- Always On 可用性群組 > 可用性群組 > 以滑鼠右鍵按一下與該連結相關聯的分散式可用性群組名稱 > 刪除...
- Databases> 右鍵點擊連結的資料庫 >Azure SQL 受控執行個體 link>Delete...
疑難排解
如果你在建立連結時遇到錯誤訊息,請選擇該錯誤訊息以開啟包含錯誤細節的視窗。
如果你在操作連結時遇到錯誤,SSMS 精靈會在失敗的步驟停止執行,且無法重新啟動該步驟。 處理問題。 如有需要,請清理環境,通過移除分散式可用性群組和可用性群組,將其恢復至原始狀態(如果您是在設置連結時建立了這些群組)。 然後再次啟動精靈重新開始。
欲了解更多資訊,請參閱 連結中的故障排除。
相關內容
使用連結請見:
欲了解更多連結資訊,請參閱:
針對其他複製和移轉情境,請考慮: