本頁面說明 SQL Server 中的 Always On 可用性群組,以及 Datastream 如何在備援和資料復原情境中支援這些群組。
Always On 可用性群組總覽
在 SQL Server 中,Always On 可用性群組是高可用性解決方案,可讓您為資料庫準備災難復原情境。
Always On 可用性群組可為企業提供最高的資料庫可用性。可用性群組可為所選的資料庫組建立複製環境,稱為可用性資料庫。每個群組都包含一組用於讀取和寫入工作的主要資料庫,以及最多八組對應的次要資料庫。次要資料庫可選擇允許唯讀存取或備份作業。
如要進一步瞭解 Always On 可用性群組,請參閱 SQL Server 說明文件中的「什麼是 Always On 可用性群組?」。
如要瞭解 SQL Server 例項的 Always On 可用性群組先決條件,請參閱 SQL Server 說明文件。
設定 Datastream 以搭配 Always On 可用性群組使用
Datastream 支援使用變更資料表 CDC 方法的同步提交可用性模式。在這個模式下,次要資料庫會與對應的主要資料庫保持同步,直到資料同步作業停止為止。只有在次要複本將傳入的交易記錄寫入磁碟時,系統才會將交易的確認訊息傳送至用戶端。
如要瞭解可用性模式,請參閱「Always On 可用性群組的可用性模式差異」。
如要將 SQL Server 例項設定為搭配 Always On 可用性群組使用,您必須啟用 SQL Server Agent,以便在發生容錯移轉時擷取記錄,然後執行清理工作。您必須先修改 CDC 代理程式工作步驟,才能確認目前的複本是否確實為主要複本。這項操作是使用 sys.fn_hadr_is_primary_replica
函式完成。
請使用下列指令設定執行個體:
-- Check if the current replica is a primary for the corresponding database.
USE [DATABASE_NAME];
DECLARE @DatabaseName SYSNAME = DB_NAME();
IF (SELECT sys.fn_hadr_is_primary_replica(@DatabaseName)) = 1
BEGIN
-- If the replica isn't a primary, the code block that follows is skipped
EXECUTE sys.sp_cdc_add_job @job_type = 'capture';
EXECUTE sys.sp_cdc_add_job @job_type = 'cleanup';
END
後續步驟
- 進一步瞭解 Datastream 如何與 SQL Server 來源搭配運作。