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

從ECS上的自建SQL Server同步至云原生數據倉庫AnalyticDB PostgreSQL

重要

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

數據傳輸服務DTS(Data Transmission Service)支持將自建SQL Server同步至云原生數據倉庫AnalyticDB PostgreSQL,實現增量數據的實時同步。

前提條件

  • 自建SQL Server數據庫版本為2008、2008 R2、2012、2014、2016、2017或2019版本。

    說明

    如果是SQL Server AlwaysOn High Availability Group,需要使用強同步模式。

  • 自建SQL Server數據庫中待同步的表需具備主鍵或者唯一性非空索引以確保同步過程中的冪等性。

  • 云原生數據倉庫AnalyticDB PostgreSQL實例的存儲空間須大于自建SQL Server數據庫占用的存儲空間。

注意事項

  • DTS在執行全量數據初始化時將占用源庫和目標庫一定的讀寫資源,可能會導致數據庫的負載上升,在數據庫性能較差、規格較低或業務量較大的情況下(例如源庫有大量慢SQL、存在無主鍵表或目標庫存在死鎖等),可能會加重數據庫壓力,甚至導致數據庫服務不可用。因此您需要在執行數據同步前評估源庫和目標庫的性能,同時建議您在業務低峰期執行數據同步(例如源庫和目標庫的CPU負載在30%以下)。

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

  • 為保障數據同步的正常運行,請勿對源庫頻繁執行備份,同時建議日志保留3天以上,避免日志截斷后無法獲取日志。

  • 為保證數據同步延遲顯示的準確性,DTS會在自建SQL Server數據庫中新增一張心跳表,表名格式為待同步表名_dts_mysql_heartbeat

費用說明

同步類型鏈路配置費用
庫表結構同步和全量數據同步不收費。
增量數據同步收費,詳情請參見計費概述

功能限制

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

  • 不支持同步數據類型為TIMESTAMP、CURSOR、ROWVERSION、HIERACHYID、SQL_VARIANT、SPATIAL GEOMETRY、SPATIAL GEOGRAPHY、TABLE的數據。

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

支持同步的SQL操作

  • DML操作:INSERT、UPDATE、DELETE

  • DDL操作:ADD COLUMN

    說明

    不支持遷移事務性的DDL操作。

數據庫賬號的權限要求

數據庫

所需權限

賬號創建及授權方法

自建SQL Server實例

sysadmin

云原生數據倉庫AnalyticDB PostgreSQL實例

  • LOGIN權限。

  • 目標表的SELECT、CREATE、INSERT、UPDATE、DELETE權限。

  • 目標庫的CONNECT、CREATE權限。

  • 目標Schema的CREATE權限。

  • Copy權限(基于內存batch copy)。

說明

您也可以使用云原生數據倉庫AnalyticDB PostgreSQL實例的初始賬號。

準備工作

在正式配置數據同步任務之前,需要在自建SQL Server數據庫上進行日志配置并創建聚集索引。

警告

如果有多個數據庫需要同步,您需要重復執行準備工作中的步驟1到步驟4。

  1. 在自建SQL Server數據庫中執行如下命令,將待同步的數據庫恢復模式修改為完整模式。也可通過SSMS客戶端修改,具體請參見修改數據庫的recovery mode

    use master;
    GO
    ALTER DATABASE <database_name> SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO

    參數說明:

    <database_name>:待同步的數據庫名。

    示例:

    use master;
    GO
    ALTER DATABASE mytestdata SET RECOVERY FULL WITH ROLLBACK IMMEDIATE;
    GO
  2. 執行如下命令,將待同步的數據庫進行邏輯備份。如您已進行過邏輯備份,可跳過本步驟。

    BACKUP DATABASE <database_name> TO DISK='<physical_backup_device_name>';
    GO

    參數說明:

    • <database_name>:待同步的數據庫名。

    • <physical_backup_device_name>:指定備份文件存儲的路徑和文件名。

    示例:

    BACKUP DATABASE mytestdata TO DISK='D:\backup\dbdata.bak';
    GO
  3. 執行如下命令,將待同步的數據庫日志進行備份。

    BACKUP LOG <database_name> to DISK='<physical_backup_device_name>' WITH init;
    GO

    參數說明:

    • <database_name>:待同步的數據庫名。

    • <physical_backup_device_name>:指定備份文件存儲的路徑和文件名。

    示例:

    BACKUP LOG mytestdata TO DISK='D:\backup\dblog.bak' WITH init;
    GO
  4. 為待同步的表創建聚集索引,詳情請參見創建聚集索引

操作步驟

  1. 購買數據同步作業,詳情請參見購買流程

    說明

    購買時,選擇源實例為SQLServer,目標實例為AnalyticDB for PostgreSQL,并選擇同步拓撲為單向同步

  2. 登錄數據傳輸控制臺

    說明 若數據傳輸控制臺自動跳轉至數據管理DMS控制臺,您可以在右下角的jiqiren中單擊返回舊版,返回至舊版數據傳輸控制臺。
  3. 在左側導航欄,單擊數據同步

  4. 同步作業列表頁面頂部,選擇同步的目標實例所屬地域。

  5. 定位至已購買的數據同步實例,單擊配置同步鏈路

  6. 配置同步作業的源實例及目標實例信息。

    類別

    配置

    說明

    同步作業名稱

    DTS會自動生成一個同步作業名稱,建議配置具有業務意義的名稱(無唯一性要求),便于后續識別。

    源實例信息

    實例類型

    根據源庫的部署位置進行選擇,本文以ECS上的自建數據庫為例介紹配置流程。

    說明

    當自建數據庫為其他實例類型時,您還需要執行相應的準備工作,詳情請參見準備工作概覽

    實例地區

    購買數據同步實例時選擇的源實例地域信息,不可變更。

    ECS實例ID

    選擇源庫所屬的ECS實例ID。

    數據庫類型

    固定為SQLServer

    端口

    填入自建數據庫的服務端口,默認為3306

    數據庫賬號

    填入源庫的數據庫賬號。權限要求請參見數據庫賬號的權限要求

    數據庫密碼

    填入該數據庫賬號的密碼。

    連接方式

    根據需求選擇非加密連接SSL安全連接

    目標實例信息

    實例類型

    選擇為AnalyticDB for PostgreSQL

    實例地區

    購買數據同步實例時選擇的目標實例地域信息,不可變更。

    實例ID

    選擇目標云原生數據倉庫AnalyticDB PostgreSQL實例ID。

    數據庫名稱

    填入同步目標表所屬的數據庫名稱。

    數據庫賬號

    填入云原生數據倉庫AnalyticDB PostgreSQL的數據庫賬號。權限要求請參見數據庫賬號的權限要求

    數據庫密碼

    填入該數據庫賬號對應的密碼。

  7. 單擊頁面右下角的授權白名單并進入下一步

    如果源或目標數據庫是阿里云數據庫實例(例如RDS MySQL云數據庫MongoDB版等),DTS會自動將對應地區DTS服務的IP地址添加到阿里云數據庫實例的白名單中;如果源或目標數據庫是ECS上的自建數據庫,DTS會自動將對應地區DTS服務的IP地址添到ECS的安全規則中,您還需確保自建數據庫沒有限制ECS的訪問;如果源或目標數據庫是IDC自建數據庫或其他云數據庫,則需要您手動添加對應地區DTS服務的IP地址,以允許來自DTS服務器的訪問。DTS服務的IP地址,請參見DTS服務器的IP地址段

    警告

    DTS自動添加或您手動添加DTS服務的公網IP地址段可能會存在安全風險,一旦使用本產品代表您已理解和確認其中可能存在的安全風險,并且需要您做好基本的安全防護,包括但不限于加強賬號密碼強度防范、限制各網段開放的端口號、內部各API使用鑒權方式通信、定期檢查并限制不需要的網段,或者使用通過內網(專線/VPN網關/智能網關)的方式接入。

  8. 配置同步策略和同步對象。
    SQL Sever配置同步策略及對象
    配置說明
    同步初始化默認選中結構初始化全量數據初始化增量數據初始化。預檢查完成后,DTS會將源實例中待同步對象的結構和存量數據同步至目標在目標庫,作為后續增量同步數據的基線數據。
    目標已存在表的處理模式
    • 預檢查并報錯攔截:檢查目標數據庫中是否有同名的表。如果目標數據庫中沒有同名的表,則通過該檢查項目;如果目標數據庫中有同名的表,則在預檢查階段提示錯誤,數據同步作業不會被啟動。
      說明 如果目標庫中同名的表不能刪除或重命名,您可以更改該表在目標庫中的名稱,詳情請參見設置同步對象在目標實例中的名稱
    • 忽略報錯并繼續執行:跳過目標數據庫中是否有同名表的檢查項。
      警告 選擇為忽略報錯并繼續執行,可能導致數據不一致,給業務帶來風險,例如:
      • 表結構一致的情況下,在目標庫遇到與源庫主鍵的值相同的記錄,則會保留目標集群中的該條記錄,即源庫中的該條記錄不會同步至目標數據庫中。
      • 表結構不一致的情況下,可能會導致無法初始化數據、只能同步部分列的數據或同步失敗。
    多表歸并
    • 選擇為:通常在OLTP場景中,為提高業務表響應速度,通常會做分庫分表處理。而在云原生數據倉庫AnalyticDB PostgreSQL中單個數據表可存儲海量數據,使用單表查詢更加便捷。此類場景中,您可以借助DTS的多表歸并功能將源庫中多個表結構相同的表(即各分表)同步至云原生數據倉庫AnalyticDB PostgreSQL中的同一個表中。
      說明
      • 選擇源庫的多個表后,您需要通過對象名映射功能,將其改為云原生數據倉庫AnalyticDB PostgreSQL中的同一個表名。關于對象名映射功能的介紹,請參見設置同步對象在目標實例中的名稱
      • 您需要在云原生數據倉庫AnalyticDB PostgreSQL的同步目標表中增加__dts_data_source列(類型為text)來存儲數據來源。DTS將以<dts數據同步實例ID>:<源數據庫名>.<源Schema名>.<源表名>的格式寫入列值用于區分表的來源,例如dts********:dtstestdata.testschema.customer1
      • 多表歸并功能基于任務級別,即不支持基于表級別執行多表歸并。如果需要讓部分表執行多表歸并,另一部分不執行多表歸并,您需要創建兩個數據同步作業。
    • 選擇為:默認選項。
    同步操作類型根據業務選中需要同步的操作類型,默認情況下都處于選中狀態。
    選擇同步對象

    源庫對象框中單擊待遷移的對象,然后單擊向右小箭頭圖標將其移動至已選擇對象框。

    本場景為異構數據庫間同步,因此同步對象選擇的粒度為表,且其他對象(如視圖、觸發器、存儲過程)不會被同步至目標庫。
    說明
    • 默認情況下,同步對象的名稱保持不變。如果您需要同步對象在目標實例上名稱不同,請使用對象名映射功能,詳情請參見設置同步對象在目標實例中的名稱
    • 如果配置多表歸并,在選擇源庫的多個表后,您需要通過對象名映射功能,將其改為云原生數據倉庫AnalyticDB PostgreSQL中的同一個表名。
    為目標對象添加引號選擇是否需要為目標對象名添加引號。如果選擇為,且存在下述情況,DTS在結構初始化階段和增量數據遷移階段會為目標對象添加單引號或雙引號:
    • 源庫所屬的業務環境對大小寫敏感且大小寫混用。
    • 源表名不是以字母開頭,且包含字母、數字或特殊字符以外的字符。
      說明 特殊字符僅支持下劃線(_),井號(#)和美元符號($)。
    • 待遷移的Schema、表或列名稱是目標庫的關鍵字、保留字或非法字符。
    說明 如果選擇添加引號,在數據同步完成后,您需使用帶引號的目標對象名進行查詢。
    映射名稱更改

    如需更改同步對象在目標實例中的名稱,請使用對象名映射功能,詳情請參見庫表列映射

    源、目標庫無法連接重試時間
    當源、目標庫無法連接時,DTS默認重試720分鐘(即12小時),您也可以自定義重試時間。如果DTS在設置的時間內重新連接上源、目標庫,同步任務將自動恢復。否則,同步任務將失敗。
    說明 由于連接重試期間,DTS將收取任務運行費用,建議您根據業務需要自定義重試時間,或者在源和目標庫實例釋放后盡快釋放DTS實例。
  9. 設置待同步的表在云原生數據倉庫AnalyticDB PostgreSQL中表類型、主鍵列和分布鍵信息。
    設置表類型 主鍵列 分布列
    說明 關于主鍵列和分布鍵的詳細說明,請參見表的約束定義表分布鍵定義
  10. 上述配置完成后,單擊頁面右下角的預檢查并啟動

    說明
    • 在同步作業正式啟動之前,會先進行預檢查。只有預檢查通過后,才能成功啟動同步作業。

    • 如果預檢查失敗,單擊具體檢查項后的提示,查看失敗詳情。

      • 您可以根據提示修復后重新進行預檢查。

      • 如無需修復告警檢測項,您也可以選擇確認屏蔽忽略告警項并重新進行預檢查,跳過告警檢測項重新進行預檢查。

  11. 預檢查對話框中顯示預檢查通過后,關閉預檢查對話框,同步作業將正式開始。

  12. 等待同步作業的鏈路初始化完成,直至處于同步中狀態。

    您可以在數據同步頁面,查看數據同步作業的狀態。查看同步作業狀態