ワークロードをソースデータベースからターゲットデータベースに切り替えた後、ターゲットデータベースには新たな書き込みが蓄積され、安全なフェイルバックを実行する前に、これらのデータをソースデータベースへと戻す必要があります。Data Transmission Service (DTS) の逆方向インスタンスは、この増分データをターゲットからソースへと同期し、制御されたフェイルバックを実現します。本機能は、データベースのディザスタリカバリにおいて頻繁に利用されます。
仕組み
逆方向インスタンスは、元の同期インスタンスとは逆方向で動作します。つまり、ターゲットデータベースに書き込まれた増分データを読み取り、それをソースデータベースに適用します。
フェイルバックのワークフローは、以下の3つの順次実行ステップで構成されます:
逆方向インスタンスの作成 — DTS は即座に事前チェックを実行します。事前チェックが成功すると、DTS はターゲットデータベースからの増分データ収集を開始しますが、逆方向インスタンスが起動されるまでは、ソースデータベースへの書き込みは行われません。
正方向同期インスタンスの一時停止 — 両方向間でのデータ競合を防止します。
逆方向インスタンスの起動 — DTS は収集済みの増分データをソースデータベースへ書き込み始めます。
逆方向インスタンスを起動する前に、正方向同期インスタンスを一時停止してください。両方を同時に起動すると、データの不整合やインスタンスの障害が発生する可能性があります。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
SQL Server、MySQL、または ApsaraDB for MongoDB を使用するソースおよびターゲットデータベース間で、増分同期が進行中の実行中のデータ同期インスタンスが存在すること。
元の同期インスタンスのターゲットデータベースアカウントに、以下の権限が付与されていること:
SQL Server:
sysadminロール。システム管理者アカウントを使用して、次のコマンドを実行してロールを付与します:EXEC sp_addsrvrolemember @loginame = N'<アカウント名>', @rolename = N'sysadmin';MySQL: REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW、SELECT 権限。詳細については、「GRANT ステートメント」をご参照ください。
ApsaraDB for MongoDB: ソースデータベース、admin データベース、local データベースに対する読み取り権限。詳細については、「DMS を使用したデータベースアカウントの管理」をご参照ください。
制限事項
サポート対象のデータベース種別: SQL Server、MySQL、ApsaraDB for MongoDB。
重要元のインスタンスが SQL Server 間または MySQL 間のデータ同期インスタンスである場合、本機能はターゲット側の ApsaraDB データベースのみで利用可能です。
同期タイプ: [同期タイプ] パラメーターでは、[増分データ同期] のみがサポートされています。
事前作成時の書き込みは同期されません: 逆方向インスタンスの作成前にターゲットデータベースに直接書き込まれたデータは、同期されません。
同期インスタンスあたり1つの逆方向インスタンス: 逆方向インスタンスが起動された後、元の同期インスタンスを直接起動することはできません。
クロスボーダーインスタンスはサポートされていません。
逆方向インスタンスの作成
ステップ 1:逆方向タスクの作成
データ同期タスク ページへ移動します。
DTS コンソール: DTS コンソール にログインします。左側ナビゲーションウィンドウで データ同期 をクリックし、左上隅からリージョンを選択します。
Data Management Service (DMS) コンソール: DMS コンソール にログインします。上部ナビゲーションバーで Data Development にポインターを合わせ、 を選択します。データ同期タスク の右側にあるドロップダウンリストからリージョンを選択します。
説明実際の手順は、DMS コンソールのモードおよびレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「DMS コンソールのレイアウトとスタイルのカスタマイズ」をご参照ください。
データ同期インスタンスを検索します。
操作 列の
アイコンをクリックし、逆方向タスクの作成 を選択します。注意 ダイアログで OK をクリックします。事前チェックが完了し、ステータス 列に 初期同期中 と表示されるまで待ちます。
説明自動更新 が無効になっている場合は、
アイコンをクリックしてステータスを手動で更新します。事前チェックが失敗した場合は、原因の表示 をクリックし、失敗項目の チェック結果 列にある 詳細の表示 をクリックします。指示に従って問題を修正し、再度事前チェックを実行します。
ステップ 2:正方向同期インスタンスの一時停止
データ競合を防止するため、逆方向インスタンスを起動する前に、元のインスタンスを一時停止します。
データ同期タスク ページで、元の同期インスタンスを検索します。
操作 列の
アイコンをクリックし、タスクの一時停止 を選択します。注意 ダイアログで OK をクリックします。
タスクが一時停止されました。 ダイアログで OK をクリックします。
ステップ 3:逆方向インスタンスの起動
データ同期タスク ページで、逆方向インスタンスの ID をクリックします。
操作 列の
アイコンをクリックし、逆方向タスクの起動 を選択します。注意 ダイアログで OK をクリックします。
DTS は、ターゲットデータベースから収集した増分データをソースデータベースへ書き込み始めます。
よくある質問
移行インスタンスに対して逆方向インスタンスを作成できますか?
いいえ。逆方向インスタンスは、SQL Server、MySQL、または ApsaraDB for MongoDB 間のデータ同期インスタンスに対してのみサポートされています。移行インスタンスはサポートされていません。
逆方向インスタンスの事前チェックで「データバックアップ」項目が失敗した場合、どうすればよいですか?
ソースデータベースでログバックアップを有効化し、再度事前チェックを実行してください。
オンプレミス SQL Server: 詳細の表示 を チェック結果 列からクリックし、必要なバックアップ方法を確認します。
ApsaraDB RDS for SQL Server: データベースを手動でバックアップします。「手動バックアップの設定」セクションをご参照ください。
次のステップ
逆タスク機能の背景情報およびディザスタリカバリ シナリオにおける使用方法については、「逆タスクの作成」をご参照ください。