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

配置同步或遷移觸發器的方式

當您在同步或遷移數據時包含了觸發器(Trigger),且同步或遷移對象依賴的觸發器會更新某個表時,可能會因為目標庫過早同步或遷移觸發器,而導致源和目標庫的數據不一致。本文介紹如何配置同步或遷移觸發器的方式,以避免數據不一致的問題。

前提條件

  • 同步或遷移實例的源和目標數據庫均為指定類型的數據庫,例如RDS MariaDB同步到RDS MySQL。更多信息,請參見支持的實例

  • 實例同時包含庫表結構和增量任務。

    • 遷移實例:遷移類型需勾選庫表結構遷移增量遷移

    • 同步實例:同步類型默認已勾選增量同步,還需勾選庫表結構同步

  • 在配置同步或遷移實例過程中,源庫對象的選擇粒度為整庫或Schema。

支持的實例

源庫

目標庫

說明

MySQL、PolarDB MySQL版、MariaDB

MySQL、PolarDB MySQL版、MariaDB

源庫觸發器遷移方式選擇為自動遷移,DTS會在目標庫的觸發器中加入觸發控制語句,DTS默認不觸發目標庫中的觸發器。更多信息,請參見自動執行

SQL Server

SQL Server

源庫觸發器遷移方式選擇為自動遷移,DTS會自動將觸發器遷移至目標庫。

重要

若源庫的增量數據變更會導致源和目標庫的觸發器同時更新數據,則可能會使目標庫產生臟數據。建議選擇手動觸發遷移,并執行相應的后續操作。

說明
  • 若同步或遷移實例的源庫包含觸發器,且目標庫為PostgreSQL、PolarDB PostgreSQL版PolarDB PostgreSQL版(兼容Oracle),DTS支持在實例運行過程中,避免因同步或遷移觸發器而導致的數據不一致問題。

    • 若實例使用的目標庫賬號有足夠的權限(高權限賬號或者super權限賬號),觸發器同步或遷移到目標庫后,DTS會以Session級別自動禁用該觸發器。

    • 若實例使用的目標庫賬號權限不足,您需要確保在實例運行期間目標數據庫中session_replication_role的參數值為replica

  • 若為其他包含觸發器的同步或遷移實例,操作方法請參見源庫存在觸發器時如何配置同步或遷移作業

實例配置

對象配置階段,選擇源庫觸發器遷移方式

說明

舊版配置頁需處于配置任務對象及高級配置階段。

  • 選擇手動觸發遷移時:DTS在結構遷移過程中遇到觸發器時,會產生object ignored due to incremental migration is enabled告警,而不會直接將其寫入目標庫。需要您在結束增量任務前,手動將源庫的觸發器同步或遷移到目標庫。詳情請參見手動觸發

  • 選擇自動遷移時:您無需額外操作。

手動觸發

說明

同步和遷移實例的操作方法類似,本操作以同步實例為例進行介紹。

  1. 進入目標地域的同步任務列表頁面(二選一)。

    通過DTS控制臺進入

    1. 登錄數據傳輸服務DTS控制臺

    2. 在左側導航欄,單擊數據同步

    3. 在頁面左上角,選擇同步實例所屬地域。

    通過DMS控制臺進入

    說明

    實際操作可能會因DMS的模式和布局不同,而有所差異。更多信息,請參見極簡模式控制臺自定義DMS界面布局與樣式

    1. 登錄DMS數據管理服務

    2. 在頂部菜單欄中,選擇集成與開發 > 數據傳輸(DTS) > 數據同步

    3. 同步任務右側,選擇同步實例所屬地域。

  2. 單擊目標實例的ID。

  3. 可選:在左側導航欄,單擊任務管理

  4. 實例進展區域,單擊增量寫入模塊。

  5. 基本信息頁簽中,單擊遷移trigger按鈕。

    說明

    若沒有遷移trigger按鈕,則表示在結構遷移過程中未發現觸發器。

    您可以在實例進展區域的結構遷移3模塊,查看觸發器的同步結果。

自動執行

DTS會拷貝源庫觸發器的代碼,在觸發器對象頭部加入觸發控制語句后寫入目標庫,示例代碼如下所示:

源庫觸發器:

CREATE TRIGGER testref BEFORE INSERT ON test1
  FOR EACH ROW
  BEGIN
    INSERT INTO test2 SET a2 = NEW.a1;
  END;

目標庫觸發器:

CREATE TRIGGER testref BEFORE INSERT ON test1
  FOR EACH ROW
  BEGIN
    IF (SELECT @`__#aliyun_dts_writer#__) IS NULL THEN
        INSERT INTO test2 SET a2 = NEW.a1;
    END IF;
  END;

常見問題

  • 如何理解同時包含庫表結構和增量任務?

    若為同步實例,則表示同步類型同時勾選庫表結構同步增量同步;若為遷移實例,則表示遷移類型同時勾選庫表結構遷移增量遷移

  • 如何結束增量任務?

    結束、重置或釋放實例均可以結束增量任務。更多信息,請參見結束DTS實例重置DTS實例釋放DTS實例