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