Openflow Connector for SQL Server:メンテナンス

注釈

このコネクタは、 Snowflakeコネクタ規約 に従うものとします。

このトピックでは、コネクタの再インストールや変更追跡の開始位置の設定など、 Openflow Connector for SQL Server のメンテナンスの考慮事項とベストプラクティスについて説明します。

これらの操作は多くの場合、 スナップショットでの増分複製 と一緒に使用されます。

コネクタを再インストールする

このセクションでは、コネクタを再インストールし、同じテーブルのデータを再度スナップショットせずに複製し続ける方法について説明します。新しいコネクタが同じランタイムにインストールされている場合や、新しいランタイムに移動された場合をカバーします。

前提条件

コネクタパラメーターのコンテキスト値を確認してメモします。同じランタイムでコネクタを再インストールすると、既存のコンテキストを再利用できます。新しいインスタンスが別のランタイムにある場合は、すべてのパラメーターを再入力する必要があります。

  1. 既存のコネクタで進行中のすべての FlowFiles の処理を終了し、コネクタを停止します。

    1. Snowsight にサインインします。

    2. ナビゲーションメニューで Ingestion » Openflow を選択します。

    3. Openflow ペインで Runtimes タブを選択します。

    4. コネクタを含むランタイムを選択します。

    5. コネクタを選択します。

    6. Snapshot Load グループで一番上のプロセッサー Set Tables for Replication を停止します。

    7. Incremental Load グループで一番上のプロセッサー Read SQLServer Change Tracking tables を停止します。

    8. Merge Task Schedule CRON パラメーターの値を変更した場合、 * * * * * ? に返します。そうでないと、次回のスケジュールされた実行までキューが空になりません。

      コネクタのすべての FlowFiles が処理され、すべてのキューが空になるまで待機します。すべての FlowFiles が処理されると、コネクタのプロセッサーグループの Queued 値がゼロになります。元のコネクタのキューにアイテムが残っている場合、新しいコネクタの開始時にデータギャップが生じる可能性があります。

    9. コネクタ内のすべてのプロセッサーとコントローラーサービスを停止します。

    注意

    既存のコネクタはランタイムにとどまることができ、停止したままである限り、新しいインスタンスに干渉しません。

  2. コネクタの新しいインスタンスを作成します。元のコネクタと同じランタイムを使用すると、既存のパラメーターコンテキストを保持し、設定を再利用できます。

  3. 別のランタイムにインストールした場合、または以前のパラメーターコンテキストを削除した場合は、 Openflow Connector for SQL Server の設定 で説明されているとおり、テーブル名とパターンなどの構成設定を新しいパラメーターコンテキストに入力します。

  4. SQLServer Ingestion Parameters コンテキストに移動し、次のパラメーターを設定します。

  5. 新しいコネクタを起動します。

使用上の注意

新しいコネクタは、元のコネクタによって作成された既存の宛先テーブルを使用しますが、新しいジャーナルテーブルを作成します。

変更追跡テーブルの位置からのロードを指定する

Openflow Connector for SQL Server コネクタでは、変更追跡テーブルの読み取り開始位置を選択できます。デフォルトでは、コネクタは最新の利用可能な位置から読み取ります。または、ソースインスタンスで利用可能な最も古い位置を選択することもできます。コネクタを再インストールする場合は、最も古い位置から開始することを選択するのが一般的です。これにより、新しいインスタンスは既存のテーブルをキャッチして、それぞれを再度スナップショットすることなく、複製を継続することができます。

実行中のコネクタを最新の位置から最も古い位置に切り替えると、変更追跡テーブルの内容が再読み取りされ、再処理されて、宛先テーブルに再適用されます。

警告

変更追跡テーブルの再読み取り中は、影響を受ける宛先テーブルのデータが、すべてのイベントが再処理およびマージされるまで、ソースと同期されなくなる可能性があります。

Ingestion Parameters コンテキストでは次のパラメーターを利用できます。

パラメーター

説明

変更追跡の開始位置

  • Latest (デフォルト): 変更追跡テーブルの読み取りは、最新の利用可能な位置から開始され、そこから続行されます。

  • Earliest:増分ロードを切り替えて、最も古い変更追跡テーブル位置から読み取りを開始または再開します。

状態のテーブルを再読み取り

  • New``(デフォルト):開始位置が ``Earliest に切り替えられた後に追加された新しいテーブルのみ、利用可能な最も古い位置から変更追跡テーブルが読み取られます。構成変更前に複製を開始したテーブルは、最後の位置からの読み取りを継続します。

  • Any active:現在複製にある任意のテーブルから変更を再読み取りし、再処理します。

コネクタが変更追跡テーブルの再読み取りを終了したかどうかを判断するには、以下の手順を実行します。

  1. Openflowキャンバスに移動します。

  2. Incremental Load プロセスグループを開きます。

  3. Read SQLServer Change Tracking tables という名前の一番上のプロセッサーを右クリックし、 View state を選択します。

  4. position. で始まるキーを持つすべてのテーブルの状態エントリをチェックします。値が 0/0 の場合、コネクタはまだこのテーブルの変更の再読み取りを完了していません。

使用上の注意

  • 実行中のコネクタを最も古い位置から読み取るように切り替えて開始した後は、プロセスを再構成したりキャンセルしたりすることができず、現在の読み取り位置が最新値に達するまで続行されます。

  • 実行中のコネクタの最も早い位置に切り替えると、再処理されるテーブルは既存のジャーナルを終了し、新しいジャーナルテーブルを作成します。