Warehouse のトラブルシューティング
適用対象:✅ Microsoft Fabric の Warehouse
この記事では、Microsoft Fabric の Warehouse の一般的な問題のトラブルシューティングに関するガイダンスを提供します。
一時的な接続エラー
一時エラーは、一過性の障害とも呼ばれ、基になる原因はすぐ自動的に解決されます。 Warehouse への接続が正常に機能していた場合に、ユーザーのアクセス許可、ファイアウォール ポリシー、ネットワーク構成が変更されていないのにエラーが発生し始めた場合は、サポートに問い合わせる前に次の手順を試してください。
- Warehouse の状態を確認し、一時停止されていないことを確認します。
- 失敗したコマンドをすぐに再試行しないでください。 代わりに、5 分から 10 分待ってから、新しい接続を確立してコマンドを再試行します。 Azure システムが、各種ワークロードの負荷分散を適切に行うために行うハードウェア リソースを瞬間的切り替えることがあります。 この再構成イベントのほとんどは 60 秒以内に完了します。 この再構成の進行中、データベースへの接続で問題が発生する場合があります。 また、特定の問題を解決するために、サービスが自動的に再起動されるときに接続が失敗する場合があります。
- 別のアプリケーションを使用して接続するか、別のコンピューターから接続します。
tempdb 領域の問題によるクエリ エラー
tempdb
は、クエリの実行中のさまざまな一時ストレージ ニーズに対してエンジンによって使用されるシステム データベースです。 ユーザーがアクセスまたは構成することはできません。 tempdb
の領域が不足しているためにクエリが失敗する場合があります。 tempdb
のスペース使用量を減らすには、次の手順を実行します。
- 統計に関する記事を参照して、すべてのテーブルで適切な列統計が作成されていることを確認します。
- 大規模な DML トランザクションの後にすべてのテーブル統計が更新されていることを確認します。
- 複雑な JOIN、GROUP BY、ORDER BY を含むクエリで、大きな結果セットが返されることが予想されるクエリでは、実行により多くの
tempdb
領域が使用されます。 可能であれば、クエリを更新して GROUP BY と ORDER BY の列の数を減らします。 - クエリ実行中のリソース制約を回避するために、実行中のアクティブなクエリが他に存在しないときにクエリを再実行します。
クエリのパフォーマンスが時間の経過とともに低下する
テーブル サイズの変更、データ スキュー、ワークロードのコンカレンシー、使用可能なリソース、ネットワークなど、多くの要因がクエリのパフォーマンスに影響を与える可能性があります。クエリの実行速度が遅いからといって、必ずしもクエリのパフォーマンスに問題があることを意味するとは限りません。 ターゲット クエリを調査するには、次の手順を実行します。
- 良好なパフォーマンスと悪いパフォーマンスの実行の間で、パフォーマンスに影響するすべての要因の違いを特定します。
- 統計に関する記事を参照して、すべてのテーブルで適切な列統計が作成されていることを確認します。
- 大規模な DML トランザクションの後にすべてのテーブル統計が更新されていることを確認します。
- ベース テーブルのデータ スキューを確認します。
- サービスを一時停止して再開します。 その後、実行中の他のアクティブなクエリがないときにクエリを再実行します。 DMV を使用してウェアハウスのワークロードを監視できます。
長時間実行した後にクエリが失敗する。 クライアントにデータは返されない。
SELECT ステートメントは、バックエンドで正常に完了し、クエリ結果セットをクライアントに返そうとしたときに失敗する可能性があります。 次の手順に従って、問題を切り分けます。
- 異なるクライアント ツールを使用して、同じクエリを再実行します。
- SQL Server Management Studio (SSMS)
- Azure Data Studio
- Microsoft Fabric ポータルの SQL クエリ エディター
- Microsoft Fabric ポータルのビジュアル クエリ エディター
- SQLCMD ユーティリティ (Microsoft Entra ID (旧称 Azure Active Directory) ユニバーサルを経由の MFA による認証には、パラメーター
-G -U
を使用)
- 手順 1 が失敗する場合は、失敗した SELECT ステートメントで CTAS コマンドを実行して、SELECT クエリの結果を同じウェアハウス内の別のテーブルに送信します。 CTAS を使用すると、クエリ結果セットがクライアント マシンに送り返されるのを回避できます。 CTAS コマンドが正常に完了し、ターゲット テーブルが設定された場合、元のクエリ エラーは、ウェアハウス フロントエンドまたはクライアントの問題が原因である可能性があります。
Microsoft サポートに問い合わせる前に収集する内容
- Warehouse のワークスペース ID を提供します。
- ステートメント ID と分散要求 ID を提供します。 これらは、クエリが完了または失敗した後にメッセージとして返されます。
- 正確なエラー メッセージを提供します。
- クエリが完了または失敗した時刻を提供します。