複寫至 Azure SQL 資料庫
適用於:Azure SQL 資料庫
Fabric 中的 SQL 資料庫
您可以將 Azure SQL 資料庫或 Fabric SQL 資料庫設定為單向交易式或快照式複寫拓撲中的發送訂閱者,此拓撲從 SQL Server 和 Azure SQL 受控執行個體作為來源。
注意
本文說明使用事務複製將數據推送至 Azure SQL 資料庫 或 Fabric SQL 資料庫。 本文同樣適用於 Azure SQL 資料庫 和 Fabric SQL 資料庫,除非另有說明。
這與 活躍異地複寫無關,這是 Azure SQL Database 的一項功能,允許您建立單個資料庫的完整可讀複本。
支援的設定
- Azure SQL 資料庫或 Fabric SQL 資料庫只能成為 SQL Server 發行者和散發者的推播訂閱者。
- 作為發行者和/或散發者的 SQL Server 執行個體,可以是在內部部署環境中執行的 SQL Server 執行個體、Azure SQL 受控執行個體,或是在雲端 Azure 虛擬機器上執行的 SQL Server 執行個體。
- 散發資料庫和復寫代理程式不能放在 Azure SQL Database 中的資料庫上。
- 支援快照式和單向交易式複寫。 不支援點對點事務複製和合併式複寫。
版本
若要成功複寫至 Azure SQL 資料庫中的資料庫,SQL Server 發行者和散發者必須 (至少) 使用下列其中一個版本:
備註
嘗試使用不支援的版本來設定複寫可能會導致錯誤號碼 MSSQL_REPL20084 (處理序無法連線到訂閱者) 和 MSSQ_REPL40532 (無法開啟登入要求的伺服器<名稱>。登入失敗)。
若要使用 Azure SQL 資料庫的所有功能,您必須使用最新版的 SQL Server Management Studio (SSMS) 和 SQL Server Data Tools。
下列版本的 SQL Server 支援從 SQL Server 資料庫發佈至任何 Azure SQL Database:
- SQL Server 2016 和更新版本
- SQL Server 2014 RTM CU10 (12.0.4427.24) 或 SP1 CU3 (12.0.2556.4)
- SQL Server 2012 SP2 CU8 (11.0.5634.1) 或 SP3 (11.0.6020.0)
支援將資料從 SQL Server 資料庫發佈至 Fabric SQL 資料庫 的 SQL Server 版本如下:
- SQL Server 2022 RTM CU12 和更新版本
複寫類型
複製 | Azure SQL Database | Azure SQL 受控執行個體 |
---|---|---|
標準交易 | 是 (僅作為訂用帳戶) | 是 |
快照 | 是 (僅作為訂用帳戶) | 是 |
合併複寫 | 否 | 否 |
點對點 | 否 | 否 |
雙向 | 否 | 是 |
可更新的訂用帳戶 | 否 | 否 |
備註
- 僅支援對 Azure SQL 資料庫的發送訂閱。
- 可透過使用 SQL Server Management Studio 或在發行者上執行 Transact-SQL 陳述式來設定複寫。 您無法使用 Azure 入口網站來設定複寫。
- 若要驗證:
- 已啟用的 Azure-Arc SQL Server 允許複寫使用 Microsoft Entra ID 驗證。
- 復寫可以使用 Microsoft Entra ID 驗證與 服務主體帳戶,以便連接到 Fabric SQL 資料庫。
- 複寫只能使用 SQL Server 驗證登入,來連線到 Azure SQL 資料庫。
- 複寫的資料表必須具有主索引鍵。
- 您必須擁有現有的 Azure 訂用帳戶。
- Azure SQL 資料庫訂閱者可位於任何區域。
- SQL Server 上的單一發行集可以同時支援 Azure SQL 資料庫和 SQL Server (內部部署和 Azure 虛擬機器中的 SQL Server) 訂閱者。
- 必須從 SQL Server (而不是 Azure SQL 資料庫) 執行複寫管理、監視和疑難排解。
- 只有在
sp_addsubscription
中支援@subscriber_type = 0
用於 SQL 資料庫。 - Azure SQL Database 不支援雙向、立即、可更新或點對點複寫。
複寫架構
情境
一般複製情境
- 在 SQL Server 資料庫上建立異動複寫發行集。
- 在 SQL Server 上使用 [新增訂閱精靈] 或 Transact-SQL 陳述式,建立推送到 Azure SQL 資料庫的訂閱。
- 在 Azure SQL 資料庫中的單一和集區資料庫中,初始資料集是由快照代理程式建立的快照,並由散發代理程式進行分發和應用。 透過 SQL 受控執行個體發行者,您也可以使用資料庫備份來初始化 Azure SQL 資料庫訂閱者。
資料移轉案例
- 可使用異動複寫,將資料從 SQL Server 資料庫複寫到 Azure SQL 資料庫。
- 重新導向用戶端或中介層應用程式以更新資料庫複本。
- 停止更新資料表的 SQL Server 版本,並移除發布。
限制
Azure SQL Database 不支援下列復寫選項:
- 複製檔案群組關聯
- 複製資料表分割方案
- 複製索引分區方案
- 複製使用者定義的統計資料
- 複製預設繫結
- 複製規則繫結
- 複製全文索引
- 複製 XML XSD
- 複製 XML 索引
- 複製權限
- 複製空間索引
- 複製篩選的索引
- 複製資料壓縮屬性
- 複製稀疏資料行屬性
- 將 filestream 轉換為 MAX 資料類型
- 將 hierarchyid 轉換為 MAX 資料類型
- 將空間資料轉換為 MAX 數據類型
- 複製擴充屬性
待決定的限制
- 複製定序
- SP 的序列化交易執行
範例
建立發行集和推送訂閱。 如需詳細資訊,請參閱
- 創建出版物
- 建立發送訂閱,方法是使用伺服器名稱作為訂閱者 (例如 N'azuresqldbdns.database.windows.net') 並使用 Azure SQL 資料庫名稱作為目的地資料庫 (例如 AdventureWorks)。