トラブルシューティング: Azure Synapse Link for SQL の初期スナップショットに関する問題
この記事は、Azure Synapse Link for Azure SQL Database および SQL Server の初期スナップショットに関する問題のトラブルシューティングするためのガイドです。
症状
ユーザーは、次の解決手順に従って、次のケースを調査できます。
- リンク接続スナップショットの状態がスタックしているかどうかを判断する。
- リンク接続を開始した後に、スナップショット関連のエラーが発生するかどうかを判断する。
- 個々のテーブルの初期スナップショットの進行状況を把握する。
解像度
手順 1: リンク接続に含まれるテーブルの現在のスナップショットの状態を取得するクエリ
SQL Server Management Studio または Azure Data Studio を使って、Azure Synapse Link で有効にするソース データベースに接続します。
ソース データベースで次の T-SQL コマンドを実行し、changefeed.change_feed_tables から変更フィードが有効なすべてのテーブルとそのスナップショット関連の列を一覧表示します。 クエリの結果で、snapshot_phase
列を確認します。
SELECT table_group_id, table_id, state, version, snapshot_phase,
snapshot_current_phase_time, snapshot_retry_count, snapshot_start_time,
snapshot_end_time, snapshot_row_count
FROM changefeed.change_feed_tables;
出力例:
- 目的のテーブルの
snapshot_phase
列の値が 6 (EMIT_SNAPSHOT_ENDENTRY
) である場合、そのテーブルでは既にスナップショットが完了しており、それ以上の調査は必要ないことを意味します。 - スナップショットのいずれかのフェーズが完了するのに時間がかかる可能性があります。 フェーズ 5 (
EXPORT_DATA_FILE
) は時間のかかる可能性がある手順です。 テーブル サイズが大きい場合、EXPORT_DATA_FILE
フェーズが完了するまでに時間がかかることが予想されます。 スナップショット フェーズの詳細については、「changefeed.change_feed_tables」を参照してください。
特定のテーブルに対するスナップショットが完了していない場合、changefeed.change_feed_tables の出力に基づいて検討すべき 2 つのケースの可能性があります。
Snapshot_phase
< 6 かつsnapshot_retry_count
= 0 の場合、スナップショット操作はエラーなしで進行中です。 この場合、アクションは必要ありません。スナップショットが完了するまで待ちます。Snapshot_phase
< 6 かつsnapshot_retry_count
> 0 の場合、スナップショット操作は失敗しており、再試行されています。 手順 2 に進んでください。 たとえば、次の図のような場合です。
手順 2: スナップショットの再試行
エラーによってスナップショットが強制的に再試行される場合、詳細については、「sys.dm_change_feed_errors」動的管理ビューを参照してください。 ソース データベースで次の T-SQL コマンドを実行します。
SELECT * FROM sys.dm_change_feed_errors;
たとえば、次のように入力します。
source_task
= 5 のときにスナップショット コンポーネントから何らかのエラーが発生した場合、エラーの具体的な軽減策の詳細については、「SQL 用 Azure Synapse Link に関する既知の制限事項と問題」を参照してください。既知の制限事項の記事でエラーが見つからない場合は、次の手順を実行して Azure サポート リクエストを送信してください。
- [問題の種類] で、 [技術] を選択します。
- ソース データベースの目的のサブスクリプションを指定します。 [次へ] を選択します。
- [サービスの種類] で、 [SQL データベース] を選択します。
- [リソース] で、初期スナップショットが失敗しているソース データベースを選びます。
- [概要] に
changefeed.change_feed_errors
のエラー番号を入力します。 - [問題の種類] で、[Data Sync, Replication, CDC and Change Tracking] (データ同期、レプリケーション、CDC、変更追跡) を選びます。
- [問題のサブタイプ] で、[トランザクション レプリケーション] を選びます。