Openflow Connector for SQL Server:メンテナンス¶
注釈
このコネクタは、 Snowflakeコネクタ規約 に従うものとします。
このトピックでは、コネクタの再インストールや変更追跡の開始位置の設定など、 Openflow Connector for SQL Server のメンテナンスの考慮事項とベストプラクティスについて説明します。
これらの操作は多くの場合、 スナップショットでの増分複製 と一緒に使用されます。
コネクタを再インストールする¶
このセクションでは、コネクタを再インストールし、同じテーブルのデータを再度スナップショットせずに複製し続ける方法について説明します。新しいコネクタが同じランタイムにインストールされている場合や、新しいランタイムに移動された場合をカバーします。
前提条件¶
コネクタパラメーターのコンテキスト値を確認してメモします。同じランタイムでコネクタを再インストールすると、既存のコンテキストを再利用できます。新しいインスタンスが別のランタイムにある場合は、すべてのパラメーターを再入力する必要があります。
既存のコネクタで進行中のすべての FlowFiles の処理を終了し、コネクタを停止します。
Snowsight にサインインします。
ナビゲーションメニューで Ingestion » Openflow を選択します。
Launch Openflow を選択します。
Openflow ペインで Runtimes タブを選択します。
コネクタを含むランタイムを選択します。
コネクタを選択します。
Snapshot Load グループで一番上のプロセッサー Set Tables for Replication を停止します。
Incremental Load グループで一番上のプロセッサー Read SQLServer Change Tracking tables を停止します。
Merge Task Schedule CRON パラメーターの値を変更した場合、
* * * * * ?に返します。そうでないと、次回のスケジュールされた実行までキューが空になりません。コネクタのすべての FlowFiles が処理され、すべてのキューが空になるまで待機します。すべての FlowFiles が処理されると、コネクタのプロセッサーグループの Queued 値がゼロになります。元のコネクタのキューにアイテムが残っている場合、新しいコネクタの開始時にデータギャップが生じる可能性があります。
コネクタ内のすべてのプロセッサーとコントローラーサービスを停止します。
注意
既存のコネクタはランタイムにとどまることができ、停止したままである限り、新しいインスタンスに干渉しません。
コネクタの新しいインスタンスを作成します。元のコネクタと同じランタイムを使用すると、既存のパラメーターコンテキストを保持し、設定を再利用できます。
別のランタイムにインストールした場合、または以前のパラメーターコンテキストを削除した場合は、 Openflow Connector for SQL Server の設定 で説明されているとおり、テーブル名とパターンなどの構成設定を新しいパラメーターコンテキストに入力します。
SQLServer Ingestion Parametersコンテキストに移動し、次のパラメーターを設定します。Ingestion Typeパラメーターをincrementalに設定します。詳細については、 スナップショットなしの増分複製を有効にする をご参照ください。Starting Change Tracking PositionパラメーターをEarliestに設定します。詳細については、 変更追跡テーブルの位置からのロードを指定する をご参照ください。
新しいコネクタを起動します。
使用上の注意¶
新しいコネクタは、元のコネクタによって作成された既存の宛先テーブルを使用しますが、新しいジャーナルテーブルを作成します。
変更追跡テーブルの位置からのロードを指定する¶
Openflow Connector for SQL Server コネクタでは、変更追跡テーブルの読み取り開始位置を選択できます。デフォルトでは、コネクタは最新の利用可能な位置から読み取ります。または、ソースインスタンスで利用可能な最も古い位置を選択することもできます。コネクタを再インストールする場合は、最も古い位置から開始することを選択するのが一般的です。これにより、新しいインスタンスは既存のテーブルをキャッチして、それぞれを再度スナップショットすることなく、複製を継続することができます。
実行中のコネクタを最新の位置から最も古い位置に切り替えると、変更追跡テーブルの内容が再読み取りされ、再処理されて、宛先テーブルに再適用されます。
警告
変更追跡テーブルの再読み取り中は、影響を受ける宛先テーブルのデータが、すべてのイベントが再処理およびマージされるまで、ソースと同期されなくなる可能性があります。
Ingestion Parameters コンテキストでは次のパラメーターを利用できます。
パラメーター |
説明 |
|---|---|
変更追跡の開始位置 |
|
状態のテーブルを再読み取り |
|
コネクタが変更追跡テーブルの再読み取りを終了したかどうかを判断するには、以下の手順を実行します。
Openflowキャンバスに移動します。
Incremental Load プロセスグループを開きます。
Read SQLServer Change Tracking tables という名前の一番上のプロセッサーを右クリックし、 View state を選択します。
position.で始まるキーを持つすべてのテーブルの状態エントリをチェックします。値が0/0の場合、コネクタはまだこのテーブルの変更の再読み取りを完了していません。
使用上の注意¶
実行中のコネクタを最も古い位置から読み取るように切り替えて開始した後は、プロセスを再構成したりキャンセルしたりすることができず、現在の読み取り位置が最新値に達するまで続行されます。
実行中のコネクタの最も早い位置に切り替えると、再処理されるテーブルは既存のジャーナルを終了し、新しいジャーナルテーブルを作成します。