日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

同步時源庫為SQL Server的注意事項及限制

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

如果同步的源數據庫類型為SQL Server,如自建SQL Server、RDS SQL Server,您需要在配置具體的同步任務前,參考本文的注意事項及限制,以保障數據同步任務的正常運行。

源庫為SQL Server的同步方案概覽

根據同步方案,查看同步任務的注意事項及限制:

說明

DTS默認同步到目標數據庫中時會取消外鍵約束,因此源數據庫的級聯、刪除等操作不會同步到如下目標數據庫:

  • SQL Server

  • MySQL(RDS MySQL、自建MySQL)

  • PolarDB MySQL

  • 云原生數據倉庫 AnalyticDB MySQL 版 3.0

  • 云原生數據倉庫AnalyticDB PostgreSQL

  • 阿里云流式數據服務DataHub

SQL Server間的同步

具體注意事項及限制如下:

類型

說明

源庫限制

  • 待同步的表需具備主鍵或唯一約束,且字段具有唯一性,否則可能會導致目標數據庫中出現重復數據。

  • 若同步對象為表級別,且需進行編輯(如表列名映射),單次同步任務的表數量超過5000或時,建議您拆分待同步的表,分批配置多個任務,或者配置整庫的同步任務,否則任務提交后可能會顯示請求報錯。

  • 單次同步任務僅支持同步至多10個數據庫。當超出數量限制,會出現穩定性和性能問題的風險,此時建議您拆分待同步的表,分批配置任務。

  • 不支持同步內存優化表。

  • DTS是用fn_log函數獲取源庫日志,而該函數有一定的性能瓶頸,請不要過早清理源庫日志,否則可能會導致任務失敗。

  • 數據日志:

    • 需開啟,備份模式設置為Full,且已成功執行過全量物理備份。

    • 如為增量同步任務,DTS要求源數據庫的數據日志保存24小時以上,如為全量同步和增量同步任務,DTS要求源數據庫的數據日志至少保留7天以上(您可在全量同步完成后將數據日志保存時間設置為24小時以上),否則DTS可能因無法獲取數據日志而導致任務失敗,極端情況下甚至可能會導致數據不一致或丟失。由于您所設置的數據日志保存時間低于DTS要求的時間進而導致的問題,不在DTS的SLA保障范圍內。

  • 若源庫待同步的表需要開啟CDC,則需滿足以下條件,否則預檢查將會失敗。

    • sys.sysservers視圖的srvname字段與SERVERPROPERTY函數返回值保持一致。

    • 若源庫是自建SQL Server,則數據庫所有者需是sa;若源庫是RDS SQL Server,則數據庫所有者需是sqlsa。

    • 若源庫是企業版,則需為2008及以上版本。

    • 若源庫是標準版,則需為2016SP1及以上版本。

    • 若源庫為SQL Server 2017版(包括標準版和企業版),建議升級版本。

  • 若源庫為只讀實例,則不支持同步DDL操作。

  • 若源庫為Azure SQL Database,則一個同步實例僅支持同步一個數據庫。

  • 若源庫為RDS SQL Server,為保障同步實例穩定運行,請確保已關閉透明數據加密TDE(Transparent Data Encryption)功能。更多信息,請參見關閉TDE

  • 在混合式日志解析模式下,源庫不支持連續執行(時間間隔小于10分鐘)多個加減列操作。例如,連續執行如下SQL會導致任務報錯。

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • 在庫表結構同步和全量同步階段,請勿執行庫或表結構變更的DDL操作,否則會導致數據同步任務失敗。

  • 若源庫為Web版的RDS SQL Server,則在配置任務時SQLServer增量同步模式需選擇為解析源庫日志做增量同步(不支持堆表)。

  • 建議在全量數據同步任務運行期間,確保源庫的事務處理模式參數READ_COMMITTED_SNAPSHOT為啟用狀態,以避免因共享鎖(Shared Lock)對數據寫入產生影響。否則,可能會導致數據不一致、實例運行失敗等異常情況。由此引發的異常情況,不在DTS的SLA保障范圍內。

其他限制

  • 不支持同步數據類型為TIMESTAMP、CURSOR、ROWVERSION、SQL_VARIANT、HIERARCHYID、POLYGON、GEOMETRY和GEOGRAPHY的數據。

  • 如需跨版本同步,請提前確認兼容性。

  • 若在對象配置階段將SQLServer增量同步模式選擇為解析源庫日志做增量同步(不支持堆表),則待同步的表需具備聚集索引,且聚集索引中需包含主鍵列;待同步的表不支持堆表、無主鍵表、壓縮表、含計算列表。在混合式日志解析模式下,沒有如上限制。

  • 若在對象配置階段將SQLServer增量同步模式選擇為非堆表用日志解析增量同步,堆表用CDC增量同步(混合式日志解析),則DTS的增量同步依賴CDC組件,因此請確保源庫CDC作業正常運行,否則會導致DTS任務失敗。

  • 若在對象配置階段將SQLServer增量同步模式選擇為輪詢查詢CDC實例做增量同步,則還有如下限制:

    • DTS實例使用的源庫賬號需具備開啟CDC的權限。開啟庫級別CDC需要使用sysadmin角色權限的賬號,開啟表級別CDC需要高權限賬號。

      說明
      • Azure SQL Database控制臺提供的最高權限賬號(服務器管理員)滿足要求。其中基于vCore購買模型的數據庫,所有規格均支持開啟CDC;基于DTU購買模型的數據庫,規格需要為S3及以上才支持開啟CDC。

      • Amazon RDS for SQL Server的高權限賬號滿足要求,支持為存儲過程開啟庫級別的CDC。

      • 聚集列存儲索引表不支持開啟CDC。

    • DTS是通過輪詢方式去源庫查詢每張表的CDC實例(CDC Instance)以獲取增量數據,因此源庫待同步表的數量不能超過1000張,否則可能會導致任務延遲或不穩定。

    • 不支持連續執行加減列操作(一分鐘內執行超過兩次加列或減列的DDL),否則可能會導致任務失敗。

    • 不支持對源庫CDC實例(CDC Instance)做變更操作,否則可能會導致任務失敗或數據丟失。

  • 為保障增量數據同步延遲的準確性,解析源端日志做增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history;混合式增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history以及會開啟庫級別CDC和部分表CDC,建議源端開啟CDC的表數據變更量不超過1000 RPS。

  • 執行數據同步前需評估源庫和目標庫的性能,同時建議業務低峰期執行數據同步。否則全量數據初始化時將占用源庫和目標庫一定的讀寫資源,可能會導致數據庫的負載上升。

  • 全量初始化會并發執行INSERT操作,導致目標數據庫的表產生碎片,因此全量初始化完成后目標實例的表空間比源實例的表空間大。

  • 在DTS同步期間,不允許有除DTS外的數據寫入目標庫,否則會導致源庫與目標庫數據不一致。例如,有除DTS外的數據寫入目標庫時,使用DMS執行在線DDL變更,可能引起目標庫數據丟失。

  • 同步實例不支持重建索引操作,否則可能造成任務失敗,甚至數據丟失。

    說明

    已開啟CDC的表不支持進行主鍵相關的變更。

  • 若單次同步任務中開啟CDC的表數量大于1000,則預檢查會失敗。

  • 若開啟CDC的表需要寫入的單字段數據超過64 KB,則必須提前使用exec sp_configure 'max text repl size', -1;命令調整源庫的配置。

    說明

    CDC作業默認最大能處理的單字段長度為64 KB。

  • 如需進行增量同步,請禁用目標庫中已啟用的觸發器和外鍵,否則會導致同步任務失敗。

  • 若您需要使用修改同步對象功能,則不支持新增或移除數據庫的操作。

  • 若實例運行失敗,DTS技術支持人員將在8小時內嘗試恢復該實例。在恢復失敗實例的過程中,可能會對該實例進行重啟、調整參數等操作。

    說明

    在調整參數時,僅會修改實例的參數,不會對數據庫中的參數進行修改。可能修改的參數,包括但不限于修改實例參數中的參數。

特殊情況

源實例為RDS SQL Server時,DTS會在源RDS SQL Server實例中創建一個rdsdt_dtsacct賬號用于數據同步,請勿在任務運行過程中對該賬號進行刪除或密碼修改操作,否則可能會導致任務失敗。具體詳情,請參見系統賬號說明。

RDS SQL Server同步至MySQL

當目標為MySQL,包括自建MySQL、RDS MySQL時,具體注意事項及限制如下:

類型

說明

源庫限制

  • 待同步的表需具備主鍵或唯一約束,且字段具有唯一性,否則可能會導致目標數據庫中出現重復數據。

  • 若同步對象為表級別,且需進行編輯(如表列名映射),單次同步任務的表數量超過5000或時,建議您拆分待同步的表,分批配置多個任務,或者配置整庫的同步任務,否則任務提交后可能會顯示請求報錯。

  • 單次同步任務僅支持同步至多10個數據庫。當超出數量限制,會出現穩定性和性能問題的風險,此時建議您拆分待同步的表,分批配置任務。

  • DTS是用fn_log函數獲取源庫日志,而該函數有一定的性能瓶頸,請不要過早清理源庫日志,否則可能會導致任務失敗。

  • 數據日志:

    • 需開啟,備份模式設置為Full,且已成功執行過全量物理備份。

    • 如為增量同步任務,DTS要求源數據庫的數據日志保存24小時以上,如為全量同步和增量同步任務,DTS要求源數據庫的數據日志至少保留7天以上(您可在全量同步完成后將數據日志保存時間設置為24小時以上),否則DTS可能因無法獲取數據日志而導致任務失敗,極端情況下甚至可能會導致數據不一致或丟失。由于您所設置的數據日志保存時間低于DTS要求的時間進而導致的問題,不在DTS的SLA保障范圍內。

  • 若源庫待同步的表需要開啟CDC,則需滿足以下條件,否則預檢查將會失敗。

    • sys.sysservers視圖的srvname字段與SERVERPROPERTY函數返回值保持一致。

    • 若源庫是自建SQL Server,則數據庫所有者需是sa;若源庫是RDS SQL Server,則數據庫所有者需是sqlsa。

    • 若源庫是企業版,則需為2008及以上版本。

    • 若源庫是標準版,則需為2016SP1及以上版本。

    • 若源庫為SQL Server 2017版(包括標準版和企業版),建議升級版本。

  • 若源庫為只讀實例,則不支持同步DDL操作。

  • 若源庫為Azure SQL Database,則一個同步實例僅支持同步一個數據庫。

  • 若源庫為RDS SQL Server,為保障同步實例穩定運行,請確保已關閉透明數據加密TDE(Transparent Data Encryption)功能。更多信息,請參見關閉TDE。

  • 在混合式日志解析模式下,源庫不支持連續執行(時間間隔小于10分鐘)多個加減列操作。例如,連續執行如下SQL會導致任務報錯。

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • 在庫表結構同步和全量同步階段,請勿執行庫或表結構變更的DDL操作,否則會導致數據同步任務失敗。

  • 若源庫為Web版的RDS SQL Server,則在配置任務時SQLServer增量同步模式需選擇為解析源庫日志做增量同步(不支持堆表)

  • 建議在全量數據同步任務運行期間,確保源庫的事務處理模式參數READ_COMMITTED_SNAPSHOT為啟用狀態,以避免因共享鎖(Shared Lock)對數據寫入產生影響。否則,可能會導致數據不一致、實例運行失敗等異常情況。由此引發的異常情況,不在DTS的SLA保障范圍內。

其他限制

  • 同步對象的要求:

    • 支持結構初始化的對象有database、schema、table。

    • 不支持同步數據類型為TIMESTAMP、CURSOR、ROWVERSION、SQL_VARIANT、HIERARCHYID、POLYGON、GEOMETRY和GEOGRAPHY的數據。

  • 若待同步的數據中包含需要四字節存儲的內容(例如生僻字、表情等信息),則目標端接收數據的數據庫和表必須使用utf8mb4字符集。

    說明

    若您使用DTS同步庫表結構,則需將目標庫中實例級別的參數character_set_server設置為utf8mb4。

  • 若在對象配置階段將SQLServer增量同步模式選擇為解析源庫日志做增量同步(不支持堆表),則待同步的表需具備聚集索引,且聚集索引中需包含主鍵列;待同步的表不支持堆表、無主鍵表、壓縮表、含計算列表。在混合式日志解析模式下,沒有如上限制。

  • 若在對象配置階段將SQLServer增量同步模式選擇為非堆表用日志解析增量同步,堆表用CDC增量同步(混合式日志解析),則DTS的增量同步依賴CDC組件,因此請確保源庫CDC作業正常運行,否則會導致DTS任務失敗。

  • 若在對象配置階段將SQLServer增量同步模式選擇為輪詢查詢CDC實例做增量同步,則還有如下限制:

    • DTS實例使用的源庫賬號需具備開啟CDC的權限。開啟庫級別CDC需要使用sysadmin角色權限的賬號,開啟表級別CDC需要高權限賬號。

      說明
      • Azure SQL Database控制臺提供的最高權限賬號(服務器管理員)滿足要求。其中基于vCore購買模型的數據庫,所有規格均支持開啟CDC;基于DTU購買模型的數據庫,規格需要為S3及以上才支持開啟CDC。

      • Amazon RDS for SQL Server的高權限賬號滿足要求,支持為存儲過程開啟庫級別的CDC。

      • 聚集列存儲索引表不支持開啟CDC。

    • DTS是通過輪詢方式去源庫查詢每張表的CDC實例(CDC Instance)以獲取增量數據,因此源庫待同步表的數量不能超過1000張,否則可能會導致任務延遲或不穩定。

    • 不支持連續執行加減列操作(一分鐘內執行超過兩次加列或減列的DDL),否則可能會導致任務失敗。

    • 不支持對源庫CDC實例(CDC Instance)做變更操作,否則可能會導致任務失敗或數據丟失。

  • 暫不支持復雜的同步DDL操作。

  • 為保障增量數據同步延遲的準確性,解析源端日志做增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history;混合式增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history以及會開啟庫級別CDC和部分表CDC,建議源端開啟CDC的表數據變更量不超過1000 RPS。

  • 執行數據同步前需評估源庫和目標庫的性能,同時建議業務低峰期執行數據同步。否則全量數據初始化時將占用源庫和目標庫一定的讀寫資源,可能會導致數據庫的負載上升。

  • 全量初始化會并發執行INSERT操作,導致目標數據庫的表產生碎片,因此全量初始化完成后目標實例的表空間比源實例的表空間大。

  • 在DTS同步期間,不允許有除DTS外的數據寫入目標庫,否則會導致源庫與目標庫數據不一致。例如,有除DTS外的數據寫入目標庫時,使用DMS執行在線DDL變更,可能引起目標庫數據丟失。

  • 同步實例不支持重建索引操作,否則可能造成任務失敗,甚至數據丟失。

    說明

    已開啟CDC的表不支持進行主鍵相關的變更。

  • 若單次同步任務中開啟CDC的表數量大于1000,則預檢查會失敗。

  • 若開啟CDC的表需要寫入的單字段數據超過64 KB,則必須提前使用exec sp_configure 'max text repl size', -1;命令調整源庫的配置。

    說明

    CDC作業默認最大能處理的單字段長度為64 KB。

  • 若目標庫的DDL寫入失敗,DTS任務會繼續運行,您需要在任務日志中查看執行失敗的DDL。查看任務日志的方法,請參見查詢任務日志

  • 若您將列名僅大小寫不同的字段寫入到目標MySQL數據庫的同一個表中,可能會因為MySQL數據庫列名大小寫不敏感,導致同步結果不符合預期。

  • 在數據同步完成后,建議使用analyze table <表名>命令以確認數據均已寫入目標表。例如,在MySQL觸發HA切換機制后,可能會導致數據只寫到了內存,從而造成數據丟失。

  • 若您需要使用修改同步對象功能,則不支持新增或移除數據庫的操作。

  • 若實例運行失敗,DTS技術支持人員將在8小時內嘗試恢復該實例。在恢復失敗實例的過程中,可能會對該實例進行重啟、調整參數等操作。

    說明

    在調整參數時,僅會修改實例的參數,不會對數據庫中的參數進行修改。可能修改的參數,包括但不限于修改實例參數中的參數。

特殊情況

源實例為RDS SQL Server時,DTS會在源RDS SQL Server實例中創建一個rdsdt_dtsacct賬號用于數據同步,請勿在任務運行過程中對該賬號進行刪除或密碼修改操作,否則可能會導致任務失敗。具體詳情,請參見系統賬號說明。

SQL Server同步至PolarDB MySQL

具體注意事項及限制如下:

類型

說明

源庫限制

  • 待同步的表需具備主鍵或唯一約束,且字段具有唯一性,否則可能會導致目標數據庫中出現重復數據。

  • 若同步對象為表級別,且需進行編輯(如表列名映射),單次同步任務的表數量超過5000或時,建議您拆分待同步的表,分批配置多個任務,或者配置整庫的同步任務,否則任務提交后可能會顯示請求報錯。

  • 單次同步任務僅支持同步至多10個數據庫。當超出數量限制,會出現穩定性和性能問題的風險,此時建議您拆分待同步的表,分批配置任務。

  • DTS是用fn_log函數獲取源庫日志,而該函數有一定的性能瓶頸,請不要過早清理源庫日志,否則可能會導致任務失敗。

  • 數據日志:

    • 需開啟,備份模式設置為Full,且已成功執行過全量物理備份。

    • 如為增量同步任務,DTS要求源數據庫的數據日志保存24小時以上,如為全量同步和增量同步任務,DTS要求源數據庫的數據日志至少保留7天以上(您可在全量同步完成后將數據日志保存時間設置為24小時以上),否則DTS可能因無法獲取數據日志而導致任務失敗,極端情況下甚至可能會導致數據不一致或丟失。由于您所設置的數據日志保存時間低于DTS要求的時間進而導致的問題,不在DTS的SLA保障范圍內。

  • 若源庫待同步的表需要開啟CDC,則需滿足以下條件,否則預檢查將會失敗。

    • sys.sysservers視圖的srvname字段與SERVERPROPERTY函數返回值保持一致。

    • 若源庫是自建SQL Server,則數據庫所有者需是sa;若源庫是RDS SQL Server,則數據庫所有者需是sqlsa。

    • 若源庫是企業版,則需為2008及以上版本。

    • 若源庫是標準版,則需為2016SP1及以上版本。

    • 若源庫為SQL Server 2017版(包括標準版和企業版),建議升級版本。

  • 若源庫為只讀實例,則不支持同步DDL操作。

  • 若源庫為Azure SQL Database,則一個同步實例僅支持同步一個數據庫。

  • 若源庫為RDS SQL Server,為保障同步實例穩定運行,請確保已關閉透明數據加密TDE(Transparent Data Encryption)功能。更多信息,請參見關閉TDE。

  • 在混合式日志解析模式下,源庫不支持連續執行(時間間隔小于10分鐘)多個加減列操作。例如,連續執行如下SQL會導致任務報錯。

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • 在庫表結構同步和全量同步階段,請勿執行庫或表結構變更的DDL操作,否則會導致數據同步任務失敗。

  • 若源庫為Web版的RDS SQL Server,則在配置任務時SQLServer增量同步模式需選擇為解析源庫日志做增量同步(不支持堆表)

  • 建議在全量數據同步任務運行期間,確保源庫的事務處理模式參數READ_COMMITTED_SNAPSHOT為啟用狀態,以避免因共享鎖(Shared Lock)對數據寫入產生影響。否則,可能會導致數據不一致、實例運行失敗等異常情況。由此引發的異常情況,不在DTS的SLA保障范圍內。

其他限制

  • 同步對象的要求:

    • 支持結構初始化的對象有database、schema、table。

    • 不支持同步數據類型為TIMESTAMP、CURSOR、ROWVERSION、SQL_VARIANT、HIERARCHYID、POLYGON、GEOMETRY和GEOGRAPHY的數據。

  • 若待同步的數據中包含需要四字節存儲的內容(例如生僻字、表情等信息),則目標端接收數據的數據庫和表必須使用utf8mb4字符集。

    說明

    若您使用DTS同步庫表結構,則需將目標庫中實例級別的參數character_set_server設置為utf8mb4。

  • 若在對象配置階段將SQLServer增量同步模式選擇為解析源庫日志做增量同步(不支持堆表),則待同步的表需具備聚集索引,且聚集索引中需包含主鍵列;待同步的表不支持堆表、無主鍵表、壓縮表、含計算列表。在混合式日志解析模式下,沒有如上限制。

  • 若在對象配置階段將SQLServer增量同步模式選擇為非堆表用日志解析增量同步,堆表用CDC增量同步(混合式日志解析),則DTS的增量同步依賴CDC組件,因此請確保源庫CDC作業正常運行,否則會導致DTS任務失敗。

  • 若在對象配置階段將SQLServer增量同步模式選擇為輪詢查詢CDC實例做增量同步,則還有如下限制:

    • DTS實例使用的源庫賬號需具備開啟CDC的權限。開啟庫級別CDC需要使用sysadmin角色權限的賬號,開啟表級別CDC需要高權限賬號。

      說明
      • Azure SQL Database控制臺提供的最高權限賬號(服務器管理員)滿足要求。其中基于vCore購買模型的數據庫,所有規格均支持開啟CDC;基于DTU購買模型的數據庫,規格需要為S3及以上才支持開啟CDC。

      • Amazon RDS for SQL Server的高權限賬號滿足要求,支持為存儲過程開啟庫級別的CDC。

      • 聚集列存儲索引表不支持開啟CDC。

    • DTS是通過輪詢方式去源庫查詢每張表的CDC實例(CDC Instance)以獲取增量數據,因此源庫待同步表的數量不能超過1000張,否則可能會導致任務延遲或不穩定。

    • 不支持連續執行加減列操作(一分鐘內執行超過兩次加列或減列的DDL),否則可能會導致任務失敗。

    • 不支持對源庫CDC實例(CDC Instance)做變更操作,否則可能會導致任務失敗或數據丟失。

  • 暫不支持復雜的同步DDL操作。

  • 為保障增量數據同步延遲的準確性,解析源端日志做增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history;混合式增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history以及會開啟庫級別CDC和部分表CDC,建議源端開啟CDC的表數據變更量不超過1000 RPS。

  • 執行數據同步前需評估源庫和目標庫的性能,同時建議業務低峰期執行數據同步。否則全量數據初始化時將占用源庫和目標庫一定的讀寫資源,可能會導致數據庫的負載上升。

  • 全量初始化會并發執行INSERT操作,導致目標數據庫的表產生碎片,因此全量初始化完成后目標實例的表空間比源實例的表空間大。

  • 在DTS同步期間,不允許有除DTS外的數據寫入目標庫,否則會導致源庫與目標庫數據不一致。例如,有除DTS外的數據寫入目標庫時,使用DMS執行在線DDL變更,可能引起目標庫數據丟失。

  • 同步實例不支持重建索引操作,否則可能造成任務失敗,甚至數據丟失。

    說明

    已開啟CDC的表不支持進行主鍵相關的變更。

  • 若單次同步任務中開啟CDC的表數量大于1000,則預檢查會失敗。

  • 若開啟CDC的表需要寫入的單字段數據超過64 KB,則必須提前使用exec sp_configure 'max text repl size', -1;命令調整源庫的配置。

    說明

    CDC作業默認最大能處理的單字段長度為64 KB。

  • 若目標庫的DDL寫入失敗,DTS任務會繼續運行,您需要在任務日志中查看執行失敗的DDL。查看任務日志的方法,請參見查詢任務日志。

  • 若您需要使用修改同步對象功能,則不支持新增或移除數據庫的操作。

  • 若實例運行失敗,DTS技術支持人員將在8小時內嘗試恢復該實例。在恢復失敗實例的過程中,可能會對該實例進行重啟、調整參數等操作。

    說明

    在調整參數時,僅會修改實例的參數,不會對數據庫中的參數進行修改。可能修改的參數,包括但不限于修改實例參數中的參數。

特殊情況

源實例為RDS SQL Server時,DTS會在源RDS SQL Server實例中創建一個rdsdt_dtsacct賬號用于數據同步,請勿在任務運行過程中對該賬號進行刪除或密碼修改操作,否則可能會導致任務失敗。具體詳情,請參見系統賬號說明。

SQL Server同步至云原生數據倉庫 AnalyticDB MySQL 版 3.0

類型

說明

源庫限制

  • 待同步的表需具備主鍵或唯一約束,且字段具有唯一性,否則可能會導致目標數據庫中出現重復數據。

  • 若同步對象為表級別,且需進行編輯(如表列名映射),單次同步任務的表數量超過5000或時,建議您拆分待同步的表,分批配置多個任務,或者配置整庫的同步任務,否則任務提交后可能會顯示請求報錯。

  • 單次同步任務僅支持同步至多10個數據庫。當超出數量限制,會出現穩定性和性能問題的風險,此時建議您拆分待同步的表,分批配置任務。

  • DTS是用fn_log函數獲取源庫日志,而該函數有一定的性能瓶頸,請不要過早清理源庫日志,否則可能會導致任務失敗。

  • 數據日志:

    • 需開啟,備份模式設置為Full,且已成功執行過全量物理備份。

    • 如為增量同步任務,DTS要求源數據庫的數據日志保存24小時以上,如為全量同步和增量同步任務,DTS要求源數據庫的數據日志至少保留7天以上(您可在全量同步完成后將數據日志保存時間設置為24小時以上),否則DTS可能因無法獲取數據日志而導致任務失敗,極端情況下甚至可能會導致數據不一致或丟失。由于您所設置的數據日志保存時間低于DTS要求的時間進而導致的問題,不在DTS的SLA保障范圍內。

  • 若源庫待同步的表需要開啟CDC,則需滿足以下條件,否則預檢查將會失敗。

    • sys.sysservers視圖的srvname字段與SERVERPROPERTY函數返回值保持一致。

    • 若源庫是自建SQL Server,則數據庫所有者需是sa;若源庫是RDS SQL Server,則數據庫所有者需是sqlsa。

    • 若源庫是企業版,則需為2008及以上版本。

    • 若源庫是標準版,則需為2016SP1及以上版本。

    • 若源庫為SQL Server 2017版(包括標準版和企業版),建議升級版本。

  • 若源庫為只讀實例,則不支持同步DDL操作。

  • 若源庫為Azure SQL Database,則一個同步實例僅支持同步一個數據庫。

  • 若源庫為RDS SQL Server,為保障同步實例穩定運行,請確保已關閉透明數據加密TDE(Transparent Data Encryption)功能。更多信息,請參見關閉TDE

  • 在混合式日志解析模式下,源庫不支持連續執行(時間間隔小于10分鐘)多個加減列操作。例如,連續執行如下SQL會導致任務報錯。

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • 在庫表結構同步和全量同步階段,請勿執行庫或表結構變更的DDL操作,否則會導致數據同步任務失敗。

  • 若源庫為Web版的RDS SQL Server,則在配置任務時SQLServer增量同步模式需選擇為解析源庫日志做增量同步(不支持堆表)

  • 建議在全量數據同步任務運行期間,確保源庫的事務處理模式參數READ_COMMITTED_SNAPSHOT為啟用狀態,以避免因共享鎖(Shared Lock)對數據寫入產生影響。否則,可能會導致數據不一致、實例運行失敗等異常情況。由此引發的異常情況,不在DTS的SLA保障范圍內。

其他限制

  • 同步對象的要求:

    • 支持結構初始化的對象有Schema、Table、View、Function和Procedure。

      警告

      由于此場景屬于異構數據庫間的數據同步,數據類型無法一一對應,可能會導致任務失敗或數據丟失,請謹慎評估數據類型的映射關系對業務的影響,詳情請參見結構初始化涉及的數據類型映射關系。

    • 不支持結構初始化的結構對象有:assemblies、service broker、全文索引、全文目錄、分布式schema、分布式函數、CLR存儲過程、CLR標量函數、CLR表值函數、內部表、系統、聚合函數。

    • 不支持同步數據類型為TIMESTAMP、CURSOR、ROWVERSION、SQL_VARIANT、HIERARCHYID、POLYGON、GEOMETRY和GEOGRAPHY的數據。

    • 不支持同步含有計算列的表。

  • 若在對象配置階段將SQLServer增量同步模式選擇為解析源庫日志做增量同步(不支持堆表),則待同步的表需具備聚集索引,且聚集索引中需包含主鍵列;待同步的表不支持堆表、無主鍵表、壓縮表、含計算列表。在混合式日志解析模式下,沒有如上限制。

  • 若在對象配置階段將SQLServer增量同步模式選擇為非堆表用日志解析增量同步,堆表用CDC增量同步(混合式日志解析),則DTS的增量同步依賴CDC組件,因此請確保源庫CDC作業正常運行,否則會導致DTS任務失敗。

  • 若在對象配置階段將SQLServer增量同步模式選擇為輪詢查詢CDC實例做增量同步,則還有如下限制:

    • DTS實例使用的源庫賬號需具備開啟CDC的權限。開啟庫級別CDC需要使用sysadmin角色權限的賬號,開啟表級別CDC需要高權限賬號。

      說明
      • Azure SQL Database控制臺提供的最高權限賬號(服務器管理員)滿足要求。其中基于vCore購買模型的數據庫,所有規格均支持開啟CDC;基于DTU購買模型的數據庫,規格需要為S3及以上才支持開啟CDC。

      • Amazon RDS for SQL Server的高權限賬號滿足要求,支持為存儲過程開啟庫級別的CDC。

      • 聚集列存儲索引表不支持開啟CDC。

    • DTS是通過輪詢方式去源庫查詢每張表的CDC實例(CDC Instance)以獲取增量數據,因此源庫待同步表的數量不能超過1000張,否則可能會導致任務延遲或不穩定。

    • 不支持連續執行加減列操作(一分鐘內執行超過兩次加列或減列的DDL),否則可能會導致任務失敗。

    • 不支持對源庫CDC實例(CDC Instance)做變更操作,否則可能會導致任務失敗或數據丟失。

  • 為保障增量數據同步延遲的準確性,解析源端日志做增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history;混合式增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history以及會開啟庫級別CDC和部分表CDC,建議源端開啟CDC的表數據變更量不超過1000 RPS。

  • 由于云原生數據倉庫AnalyticDB MySQL版(3.0)本身的使用限制,當云原生數據倉庫AnalyticDB MySQL版(3.0)中的節點磁盤空間使用量超過80%,數據寫入目標庫的性能變慢,導致DTS任務延遲;當使用量超過90%,數據無法寫入目標庫,導致DTS任務異常。請提前根據待同步的對象預估所需空間,確保目標集群具備充足的存儲空間。

  • 執行數據同步前需評估源庫和目標庫的性能,同時建議業務低峰期執行數據同步。否則全量數據初始化時將占用源庫和目標庫一定的讀寫資源,可能會導致數據庫的負載上升。

  • 全量初始化會并發執行INSERT操作,導致目標數據庫的表產生碎片,因此全量初始化完成后目標實例的表空間比源實例的表空間大。

  • 在DTS同步期間,不允許有除DTS外的數據寫入目標庫,否則會導致源庫與目標庫數據不一致。例如,有除DTS外的數據寫入目標庫時,使用DMS執行在線DDL變更,可能引起目標庫數據丟失。

  • 同步實例不支持重建索引操作,否則可能造成任務失敗,甚至數據丟失。

    說明

    已開啟CDC的表不支持進行主鍵相關的變更。

  • 若單次同步任務中開啟CDC的表數量大于1000,則預檢查會失敗。

  • 若開啟CDC的表需要寫入的單字段數據超過64 KB,則必須提前使用exec sp_configure 'max text repl size', -1;命令調整源庫的配置。

    說明

    CDC作業默認最大能處理的單字段長度為64 KB。

  • 若目標庫的DDL寫入失敗,DTS任務會繼續運行,您需要在任務日志中查看執行失敗的DDL。查看任務日志的方法,請參見查詢任務日志。

  • 若您需要使用修改同步對象功能,則不支持新增或移除數據庫的操作。

  • 若DTS任務運行時目標AnalyticDB MySQL版 3.0集群處于備份中的狀態,則會導致任務失敗。

  • 若實例運行失敗,DTS技術支持人員將在8小時內嘗試恢復該實例。在恢復失敗實例的過程中,可能會對該實例進行重啟、調整參數等操作。

    說明

    在調整參數時,僅會修改實例的參數,不會對數據庫中的參數進行修改。可能修改的參數,包括但不限于修改實例參數中的參數。

特殊情況

源實例為RDS SQL Server時,DTS會在源RDS SQL Server實例中創建一個rdsdt_dtsacct賬號用于數據同步,請勿在任務運行過程中對該賬號進行刪除或密碼修改操作,否則可能會導致任務失敗。具體詳情,請參見系統賬號說明。

SQL Server同步至云原生數據倉庫AnalyticDB PostgreSQL版

具體注意事項及限制如下:

類型

說明

源庫限制

  • 待同步的表需具備主鍵或唯一約束,且字段具有唯一性,否則可能會導致目標數據庫中出現重復數據。

  • 若同步對象為表級別,且需進行編輯(如表列名映射),單次同步任務的表數量超過5000或時,建議您拆分待同步的表,分批配置多個任務,或者配置整庫的同步任務,否則任務提交后可能會顯示請求報錯。

  • 單次同步任務僅支持同步至多10個數據庫。當超出數量限制,會出現穩定性和性能問題的風險,此時建議您拆分待同步的表,分批配置任務。

  • DTS是用fn_log函數獲取源庫日志,而該函數有一定的性能瓶頸,請不要過早清理源庫日志,否則可能會導致任務失敗。

  • 數據日志:

    • 需開啟,備份模式設置為Full,且已成功執行過全量物理備份。

    • 如為增量同步任務,DTS要求源數據庫的數據日志保存24小時以上,如為全量同步和增量同步任務,DTS要求源數據庫的數據日志至少保留7天以上(您可在全量同步完成后將數據日志保存時間設置為24小時以上),否則DTS可能因無法獲取數據日志而導致任務失敗,極端情況下甚至可能會導致數據不一致或丟失。由于您所設置的數據日志保存時間低于DTS要求的時間進而導致的問題,不在DTS的SLA保障范圍內。

  • 若源庫待同步的表需要開啟CDC,則需滿足以下條件,否則預檢查將會失敗。

    • sys.sysservers視圖的srvname字段與SERVERPROPERTY函數返回值保持一致。

    • 若源庫是自建SQL Server,則數據庫所有者需是sa;若源庫是RDS SQL Server,則數據庫所有者需是sqlsa。

    • 若源庫是企業版,則需為2008及以上版本。

    • 若源庫是標準版,則需為2016SP1及以上版本。

    • 若源庫為SQL Server 2017版(包括標準版和企業版),建議升級版本。

  • 若源庫為只讀實例,則不支持同步DDL操作。

  • 若源庫為Azure SQL Database,則一個同步實例僅支持同步一個數據庫。

  • 若源庫為RDS SQL Server,為保障同步實例穩定運行,請確保已關閉透明數據加密TDE(Transparent Data Encryption)功能。更多信息,請參見關閉TDE。

  • 在混合式日志解析模式下,源庫不支持連續執行(時間間隔小于10分鐘)多個加減列操作。例如,連續執行如下SQL會導致任務報錯。

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • 在庫表結構同步和全量同步階段,請勿執行庫或表結構變更的DDL操作,否則會導致數據同步任務失敗。

  • 若源庫為Web版的RDS SQL Server,則在配置任務時SQLServer增量同步模式需選擇為解析源庫日志做增量同步(不支持堆表)。

  • 建議在全量數據同步任務運行期間,確保源庫的事務處理模式參數READ_COMMITTED_SNAPSHOT為啟用狀態,以避免因共享鎖(Shared Lock)對數據寫入產生影響。否則,可能會導致數據不一致、實例運行失敗等異常情況。由此引發的異常情況,不在DTS的SLA保障范圍內。

其他限制

  • 同步對象的要求:

    • 支持結構初始化的對象有Schema、Table、View、Function和Procedure。

      警告

      由于此場景屬于異構數據庫間的數據同步,數據類型無法一一對應,可能會導致任務失敗或數據丟失,請謹慎評估數據類型的映射關系對業務的影響,詳情請參見結構初始化涉及的數據類型映射關系

    • 不支持結構初始化的結構對象有:assemblies、service broker、全文索引、全文目錄、分布式schema、分布式函數、CLR存儲過程、CLR標量函數、CLR表值函數、內部表、系統、聚合函數。

    • 不支持同步數據類型為TIMESTAMP、CURSOR、ROWVERSION、SQL_VARIANT、HIERARCHYID、POLYGON、GEOMETRY和GEOGRAPHY的數據。

    • 不支持同步含有計算列的表。

  • 若在對象配置階段將SQLServer增量同步模式選擇為解析源庫日志做增量同步(不支持堆表),則待同步的表需具備聚集索引,且聚集索引中需包含主鍵列;待同步的表不支持堆表、無主鍵表、壓縮表、含計算列表。在混合式日志解析模式下,沒有如上限制。

  • 若在對象配置階段將SQLServer增量同步模式選擇為非堆表用日志解析增量同步,堆表用CDC增量同步(混合式日志解析),則DTS的增量同步依賴CDC組件,因此請確保源庫CDC作業正常運行,否則會導致DTS任務失敗。

  • 若在對象配置階段將SQLServer增量同步模式選擇為輪詢查詢CDC實例做增量同步,則還有如下限制:

    • DTS實例使用的源庫賬號需具備開啟CDC的權限。開啟庫級別CDC需要使用sysadmin角色權限的賬號,開啟表級別CDC需要高權限賬號。

      說明
      • Azure SQL Database控制臺提供的最高權限賬號(服務器管理員)滿足要求。其中基于vCore購買模型的數據庫,所有規格均支持開啟CDC;基于DTU購買模型的數據庫,規格需要為S3及以上才支持開啟CDC。

      • Amazon RDS for SQL Server的高權限賬號滿足要求,支持為存儲過程開啟庫級別的CDC。

      • 聚集列存儲索引表不支持開啟CDC。

    • DTS是通過輪詢方式去源庫查詢每張表的CDC實例(CDC Instance)以獲取增量數據,因此源庫待同步表的數量不能超過1000張,否則可能會導致任務延遲或不穩定。

    • 不支持連續執行加減列操作(一分鐘內執行超過兩次加列或減列的DDL),否則可能會導致任務失敗。

    • 不支持對源庫CDC實例(CDC Instance)做變更操作,否則可能會導致任務失敗或數據丟失。

  • 為保障增量數據同步延遲的準確性,解析源端日志做增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history;混合式增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history以及會開啟庫級別CDC和部分表CDC,建議源端開啟CDC的表數據變更量不超過1000 RPS。

  • 執行數據同步前需評估源庫和目標庫的性能,同時建議業務低峰期執行數據同步。否則全量數據初始化時將占用源庫和目標庫一定的讀寫資源,可能會導致數據庫的負載上升。

  • 全量初始化會并發執行INSERT操作,導致目標數據庫的表產生碎片,因此全量初始化完成后目標實例的表空間比源實例的表空間大。

  • 在DTS同步期間,不允許有除DTS外的數據寫入目標庫,否則會導致源庫與目標庫數據不一致。例如,有除DTS外的數據寫入目標庫時,使用DMS執行在線DDL變更,可能引起目標庫數據丟失。

  • 選擇同步對象時支持的粒度為表,支持修改列的映射關系。若使用列映射時為非全表同步或者源與目標表結構不一致,則目標端比源端缺少的列的數據將會丟失。

  • 同步實例不支持重建索引操作,否則可能造成任務失敗,甚至數據丟失。

    說明

    已開啟CDC的表不支持進行主鍵相關的變更。

  • 若單次同步任務中開啟CDC的表數量大于1000,則預檢查會失敗。

  • 若開啟CDC的表需要寫入的單字段數據超過64 KB,則必須提前使用exec sp_configure 'max text repl size', -1;命令調整源庫的配置。

    說明

    CDC作業默認最大能處理的單字段長度為64 KB。

  • 若您需要使用修改同步對象功能,則不支持新增或移除數據庫的操作。

  • 若實例運行失敗,DTS技術支持人員將在8小時內嘗試恢復該實例。在恢復失敗實例的過程中,可能會對該實例進行重啟、調整參數等操作。

    說明

    在調整參數時,僅會修改實例的參數,不會對數據庫中的參數進行修改。可能修改的參數,包括但不限于修改實例參數中的參數。

特殊情況

源實例為RDS SQL Server時,DTS會在源RDS SQL Server實例中創建一個rdsdt_dtsacct賬號用于數據同步,請勿在任務運行過程中對該賬號進行刪除或密碼修改操作,否則可能會導致任務失敗。具體詳情,請參見系統賬號說明。

SQL Server同步至阿里云流式數據服務DataHub

具體注意事項及限制如下:

類型

說明

源庫限制

  • 待同步的表需具備主鍵或唯一約束,且字段具有唯一性,否則可能會導致目標數據庫中出現重復數據。

  • 若同步對象為表級別,且需進行編輯(如表列名映射),單次同步任務的表數量超過5000或時,建議您拆分待同步的表,分批配置多個任務,或者配置整庫的同步任務,否則任務提交后可能會顯示請求報錯。

  • 單次同步任務僅支持同步至多10個數據庫。當超出數量限制,會出現穩定性和性能問題的風險,此時建議您拆分待同步的表,分批配置任務。

  • DTS是用fn_log函數獲取源庫日志,而該函數有一定的性能瓶頸,請不要過早清理源庫日志,否則可能會導致任務失敗。

  • 數據日志:

    • 需開啟,備份模式設置為Full,且已成功執行過全量物理備份。

    • 如為增量同步任務,DTS要求源數據庫的數據日志保存24小時以上,如為全量同步和增量同步任務,DTS要求源數據庫的數據日志至少保留7天以上(您可在全量同步完成后將數據日志保存時間設置為24小時以上),否則DTS可能因無法獲取數據日志而導致任務失敗,極端情況下甚至可能會導致數據不一致或丟失。由于您所設置的數據日志保存時間低于DTS要求的時間進而導致的問題,不在DTS的SLA保障范圍內。

  • 若源庫待同步的表需要開啟CDC,則需滿足以下條件,否則預檢查將會失敗。

    • sys.sysservers視圖的srvname字段與SERVERPROPERTY函數返回值保持一致。

    • 若源庫是自建SQL Server,則數據庫所有者需是sa;若源庫是RDS SQL Server,則數據庫所有者需是sqlsa。

    • 若源庫是企業版,則需為2008及以上版本。

    • 若源庫是標準版,則需為2016SP1及以上版本。

    • 若源庫為SQL Server 2017版(包括標準版和企業版),建議升級版本。

  • 若源庫為Azure SQL Database,則一個同步實例僅支持同步一個數據庫。

  • 若源庫為RDS SQL Server,為保障同步實例穩定運行,請確保已關閉透明數據加密TDE(Transparent Data Encryption)功能。更多信息,請參見關閉TDE。

  • 在混合式日志解析模式下,源庫不支持連續執行(時間間隔小于10分鐘)多個加減列操作。例如,連續執行如下SQL會導致任務報錯。

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • 在庫表結構同步階段,請勿執行庫或表結構變更的DDL操作,否則會導致數據同步任務失敗。

  • 建議在全量數據同步任務運行期間,確保源庫的事務處理模式參數READ_COMMITTED_SNAPSHOT為啟用狀態,以避免因共享鎖(Shared Lock)對數據寫入產生影響。否則,可能會導致數據不一致、實例運行失敗等異常情況。由此引發的異常情況,不在DTS的SLA保障范圍內。

其他限制

  • 僅支持增量同步和庫表結構同步,不支持全量同步。

  • 目標DataHub中單個String字段的長度最大支持2 MB。

  • 同步對象的要求:

    • 支持結構初始化的對象有Schema、Table、View、Function和Procedure。

      警告

      由于此場景屬于異構數據庫間的數據同步,數據類型無法一一對應,可能會導致任務失敗或數據丟失,請謹慎評估數據類型的映射關系對業務的影響,詳情請參見結構初始化涉及的數據類型映射關系。

    • 不支持結構初始化的結構對象有:assemblies、service broker、全文索引、全文目錄、分布式schema、分布式函數、CLR存儲過程、CLR標量函數、CLR表值函數、內部表、系統、聚合函數。

    • 不支持同步數據類型為TIMESTAMP、CURSOR、ROWVERSION、SQL_VARIANT、HIERARCHYID、POLYGON、GEOMETRY和GEOGRAPHY的數據。

    • 不支持同步含有計算列的表。

  • 為保障增量數據同步延遲的準確性,解析源端日志做增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history;混合式增量同步模式,DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history以及會開啟庫級別CDC和部分表CDC,建議源端開啟CDC的表數據變更量不超過1000 RPS。

  • 執行數據同步前需評估源庫和目標庫的性能,同時建議業務低峰期執行數據同步。否則全量數據初始化時將占用源庫和目標庫一定的讀寫資源,可能會導致數據庫的負載上升。

  • 全量初始化會并發執行INSERT操作,導致目標數據庫的表產生碎片,因此全量初始化完成后目標實例的表空間比源實例的表空間大。

  • 在DTS同步期間,不允許有除DTS外的數據寫入目標庫,否則會導致源庫與目標庫數據不一致。例如,有除DTS外的數據寫入目標庫時,使用DMS執行在線DDL變更,可能引起目標庫數據丟失。

  • 同步實例不支持重建索引操作,否則可能造成任務失敗,甚至數據丟失。

    說明

    已開啟CDC的表不支持進行主鍵相關的變更。

  • 若單次同步任務中開啟CDC的表數量大于1000,則預檢查會失敗。

  • 若開啟CDC的表需要寫入的單字段數據超過64 KB,則必須提前使用exec sp_configure 'max text repl size', -1;命令調整源庫的配置。

    說明

    CDC作業默認最大能處理的單字段長度為64 KB。

  • 若您需要使用修改同步對象功能,則不支持新增或移除數據庫的操作。

  • 若實例運行失敗,DTS技術支持人員將在8小時內嘗試恢復該實例。在恢復失敗實例的過程中,可能會對該實例進行重啟、調整參數等操作。

    說明

    在調整參數時,僅會修改實例的參數,不會對數據庫中的參數進行修改。可能修改的參數,包括但不限于修改實例參數中的參數。

特殊情況

源實例為RDS SQL Server時,DTS會在源RDS SQL Server實例中創建一個rdsdt_dtsacct賬號用于數據同步,請勿在任務運行過程中對該賬號進行刪除或密碼修改操作,否則可能會導致任務失敗。具體詳情,請參見系統賬號說明。