次の方法で共有


一般的なクエリ エラーのトラブルシューティング

適用対象:Azure Synapse Analytics

注:

Azure Synapse Analytics で現在アクティブまたは最近解決されている既知の問題の一覧を確認してください。

Azure Synapse 専用 SQL プールに対してクエリを実行するときに発生する一般的なエラー、エラー、例外をトラブルシューティングするには、次のガイダンスを使用します。

一般的なエラー

エラー 原因 対応策
Could not allocate a new page for database 'Distribution_nn' because of insufficient disk space in filegroup 'PRIMARY'. 行ストア インデックス (列ストア ではない) やヒープを持つテーブルが、少なくとも 1 つの分配で使用可能な領域を超えました。 - データベースの最大サイズを増やしてください
- テーブルの傾斜を評価します。
Error 8632 - Internal error: An expression services limit has been reached. Look for potentially complex expressions in your query, and try to simplify them. 最適化するにはクエリが複雑すぎます。 クエリを複数のステップに分割します。
Database 'Distribution_nn_Cache' cannot be opened due to inaccessible files or insufficient memory or disk space. サービス正常性の問題を示します。 専用 SQL プールを一時停止して再開します。
Unable to allocate n KB for columnstore compression because it exceeds the remaining memory from total allocated for current resource class and DWU. 書き込み操作用のメモリが不足しています。 - ユーザーのリソース クラスを増やします。
- 一時的に サービス レベル目標 (SLO) を作成することを検討してください。
Internal error (5123, 50) 大量の IO 操作が原因で発生します。 - ユーザーのリソース クラスを増やします。
- テーブルのパーティションの数を減らします。
- CCI テーブルを再構築します。
Failed to execute query. Error: MSDTC on server '{NAME}' is unavailable グローバル トランザクションを管理するサービスが適切に機能していません。 直ちに軽減するために、専用 SQL プールを一時停止して再開します。 問題が繰り返し発生する場合は、サポートにお問い合わせください。
110806; A distributed query failed: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server isn't responding 内部メタデータの取得タイムアウト。 パフォーマンスが高い sys.pdw_table_mappings へのクエリ参照を sys.pdw_permanent_table_mappings に置き換えます。
110806; A distributed query failed: ExecuteNonQuery requires an open and available Connection. The connection's current state is open. コンピューティング ノード間の接続の問題を示す内部クエリ エラー。 - この問題は通常自己解決されるため、クエリを再試行してください。
- 問題が解決しない場合は、専用 SQL プールを一時停止して再開します。
- 問題の頻度が増える場合は、サポートにお問い合わせください。
110806; A distributed query failed: Operation not allowed. 通常、リソースの負荷を示す内部クエリ エラー。 - この問題は通常自己解決されるため、クエリを再試行してください。
- 問題が解決しない場合は、専用 SQL プールを一時停止して再開します。
- 統計 および を更新します。
- SLO の作成 検討。 SLO を増やした後も問題が解決しない場合は、サポートにお問い合わせください。
110806; A distributed query failed: Could not allocate space for object '<ObjectName' in database 'tempdb' because the 'PRIMARY' filegroup is full. クエリまたは一連のクエリが、少なくとも 1 つのコンピューティング ノードで tempdb を満たしました。 専用 SQL プール tempdb エラーをトラブルシューティングする方法について説明します
110802; An internal DMS error occurred that caused this operation to fail. Details: Please use this Error ID when contacting your Administrator for assistance. EID:(ErrorID) リソースが不足しているため、DMS 操作中にクエリが失敗します。 - ワークロードに合わせて ユーザーのリソース クラスを増やします。
- tempdb の入力を防ぐために、 検証を確認して実装します。
110802; An internal DMS error occurred that caused this operation to fail. ... Java exception message: HdfsBridge::createRecordWriter - Unexpected error encountered when creating a record writer: ClassCastException: サポートされていないソースに対してネイティブ データ仮想化を使用してEXTERNAL DATA SOURCEが作成されるときに、CREATE EXTERNAL TABLE AS SELECT ステートメント中に発生します。 External データ ソースを作成するときにTYPE = Hadoopを指定します。
110802; An internal DMS error occurred that caused this operation to fail. ... Java exception message: HdfsBridge::CreateRecordReader - Unexpected error encountered creating the record reader: ConnectException: Connection timed out: クエリを実行するためのメモリ リソースが不足しています。 ワークロードに合わせて ユーザーのリソース クラスを増やします。
100088: The query processor could not produce a query plan because the target DML table is not hash partitioned サポートされていないラウンド ロビン分散テーブル DML シナリオ:
- DELETE PRIMARYキーまたはUNIQUEキーを使用して RR から
- UPDATE は、ターゲット テーブルで更新する行を決定するために、 ROW_NUMBERRANKDENSE_RANK などのランク付け関数を使用します。
- DELETE + PK/UK シナリオ: PK/UK を Drop し、重複する行を削除します。
- UPDATE + ランク付け関数のシナリオ:
  • ターゲット テーブルの配布の種類を HASHに変更します。
  • UPDATEではなく、DELETE + INSERTを実行します。
35386. Error Message: Unable to allocate 370216 {NAME} for columnstore compression because it exceeds the remaining memory from total allocated for current resource class and DWU クラスター化列ストア インデックスを使用してテーブルを変更または管理しているクエリには、タスクを完了するための十分なメモリがありません。 - ワークロードに合わせて ユーザーのリソース クラスを増やします。
- SLO 作成することを検討してください。

予期しない動作

観測 Recommendation
構文エラー 専用 SQL プールに違いがあるため、 T-SQL 構文 リファレンスを確認してください。
主キーと一意キーは適用されません。 主キーと一意の制約では、Synapse Analytics の一貫性は強制されません。 ただし、クエリ オプティマイザーでは、キーを利用してクエリのパフォーマンスを向上させることができます。
USE ステートメントが失敗します。 USE ステートメントは、専用 SQL プールではサポートされていません。 接続文字列内の Synapse 専用 SQL プールに直接接続します。
取り消されたクエリまたは実行タイムアウト エラー。 - クライアント アプリケーションで構成されているタイムアウト値を確認します。
- CREATE WORKLOAD GROUPQUERY_EXECUTION_TIMEOUT_SEC パラメーターを構成します。
不整合または予期しない結果。 - データに特殊文字が含まれている場合、または異なるテキスト エンコードを使用する場合は、 NCHARNVARCHARなどの Unicode データ型を使用します。
- クエリでWHERE句またはJOIN操作でGETDATE()が使用されているかどうかを確認します。 変数を使用して日付を格納し、変数で使用します。
- クエリで、WHERE句またはJOIN操作でROW_NUMBER()関数が使用されているかどうかを確認します。 一時テーブルを使用して ROW_NUMBER() 関数の結果を保持し、他のテーブルと結合します。
- 既定以外の照合順序を持つデータベースは、クエリの動作に影響を与え、Microsoft 以外のツールと対話するときに予期しない結果を表示する可能性があります。
: 専用 SQL プールの作成後、既定のデータベース照合順序を変更することはできません。 照合順序のサポートの詳細については、「 Azure Synapse Analytics 専用 SQL プールのデータベース照合順序のサポートを参照してください。
予期しない重複する行。 テーブルに PRIMARY KEY をドロップし、重複があるかどうかを確認します。
クエリがハングするか、実行時間の長いクエリがあります。 この記事を使用して 専用 SQL プールで低速クエリをトラブルシューティングします
推定クエリ プランでは、想定どおりに関連するパーティションが削除されません。 この動作は仕様です。 制御ノードによって生成された推定クエリ プランではシーク述語は考慮されませんが、コンピューティング ノード上の個々の分散プランでは考慮されます。
具体化されたビューでビューを参照できません。 具体化されたビューは、他のビューのクエリをサポートしていません。 具体化されたビューの制限に関するページをご確認ください。
外部テーブルに対してクエリを実行するときの期間に一貫性がありません。 外部テーブルは、エンド ユーザーのクエリには最適ではありません。 代わりに、データを永続的なテーブルに 読み込み ワークロードをクエリまたは切り替えて サーバーレス プールを使用することを検討してください 一貫性のあるエクスペリエンスを実現します。

リソース