クックブックの照会
この記事では、Lifecycle Services (LCS) の 環境の監視ページにある SQL インサイト タブの下の各クエリの詳細と、パフォーマンスの問題のトラブルシューティングを行うときにそれらを使う方法を示します。 この機能の詳細については、Lifecycle Services (LCS) でツールを使用したパフォーマンスのトラブルシューティングを参照してください。
現在のブロック
説明
現在ブロックされているクエリ、それらをブロックしている SPID、ブロックされている期間、待機しているリソースをリストします。 これは、同じ情報の一部のグラフィカルな概要を表示するブロック ツリーを表示するためのクエリと組み合わせて使用できます。 正常なシステムでは単独でブロックするのが通常であり、過剰になったり、営業活動に悪影響を及ぼし始めたときのみ問題となります。
次のステップ
- どのプロセスがブロックされているかを決定し、どのプロセスがブロックしているかとその理由を判別します。
- ブロックを解決するには、実行させて自然にクリアさせるか、リード ブロッカー プロセスを終了して作業をロールバックするかの 2 つのオプションのみです。 一般に、リード ブロッカーは、自然にクリアすると思われない状況 (不適切なクエリ プランの場合など) や、重要なプロセスを実行できないためにすぐに完了する必要があるような状況でのみ終了する必要があります。
- 将来同じブロックを避けるため、インデックスまたはプラン ガイドを使用したり、各種レコードでの操作中にプロセスが互いにブロックしている場合はロック エスカレーションおよびページ ロックを無効にできます。 プロセスが同じレコードで動作している場合、ブロックを回避するには、同時に同じレコード上で動作しないように、プロセスをリファクタリングまたは再スケジューリングする必要があります。
現在のブロック ツリー
説明
現在ブロックしているかブロックされている SPID およびステートメントのグラフィカル表示を提供します。 これは、詳細な情報を表示するために現在のブロック クエリと組み合わせて使用できます。 正常なシステムでは単独でブロックするのが通常であり、過剰になったり、営業活動に悪影響を及ぼし始めたときのみ問題となります。
次のステップ
- どのプロセスがブロックされているかを決定し、どのプロセスがブロックしているかとその理由を判別します。
- ブロックを解決するには、実行させて自然にクリアさせるか、リード ブロッカー プロセスを終了して作業をロールバックするかの 2 つのオプションのみです。 一般に、リード ブロッカーは、自然にクリアしないと思われる状況 (不適切なクエリ プランの場合など) や、重要なプロセスを実行できないためにすぐに完了する必要があるような状況でのみ終了する必要があります。
- 将来同じブロックを避けるため、インデックスまたはプラン ガイドを使用したり、各種レコードでの操作中にプロセスが互いにブロックしている場合はロック エスカレーションおよびページ ロックを無効にできます。 プロセスが同じレコードで動作している場合、ブロックを回避するには、同時に同じレコード上で動作しないように、プロセスをリファクタリングまたは再スケジューリングする必要があります。
現在実行中のクエリ
Description
このデータベースで現在実行状態またはブロック状態のすべてのクエリのリストと、各クエリの合計実行および待機時間も提供します。 実行時間が長く待機時間が短いクエリは多くの場合不適切なクエリ プランであることを示します。 待機時間が長くクエリと実行時間が短いクエリはブロックを示しています。 比較的高速な操作が何回も実行されている場合、行でこのクエリを複数回実行し、実行時間が短い頻繁に発生するクエリを探すことで見つけることができます。
次のステップ
- 高い CPU 時間が見られる場合、クエリのクエリ プランを取得し、このクエリに使用されている他のクエリ プランの方が効率的かどうかも確認します。 新しいクエリ、クエリの変更、または最後の手段としてプラン ガイドを追加することにより、この問題に対処することを検討してください。
- 高い待機時間が見られる場合、現在のブロックおよび現在のブロック ツリーを表示してクエリがブロックされている理由を判断します。 これは、場合によっては、ロック エスカレーションまたはページ ロックを無効にすることで (これがブロックの原因の場合) 対処できます。 通常は、2 つのクエリにより同じレコードが同時に処理されないように、実行される作業を分割することにより対処されます。
SQL プロセスの終了
バックグラウンド
SPID が非常に多くのリソースを消費して、他のプロセスの工程が低下している場合、は、SPID プロセスを終了すると便利な場合があります。 これにより、未処理トランザクションがロールバックします。つまり、データは失われませんが、プロセスの手動での再起動が必要になることがあります。 トランザクションが既に多くの作業を実行している場合、ロールバックに時間がかかり、多くのリソースを消費する可能性があることに注意してください。 したがって、このアクションは注意して使用する必要があります。
次のステップ
- ブロック ツリーやその他のクエリから、SPID が終了するかどうかを判断する必要があります。
- 継続的な事業運営に悪影響を与えずに、SPID により実行されている処理が終了できることを確認します。
- 終了する SPID 番号を指定し、その操作をロールバックします。
削除済みの機能
削除済みまたは非推奨のプラットフォームの機能で述べたように、一部の Azure SQL レポートおよび Azure SQL アクションは Lifecycle Services (LCS) から削除されました。
削除済みのクエリ
次の項目が、LCS の SQL インサイトのクエリ タブから削除されました。
氏名 | 削除済 | 摘要 |
---|---|---|
現在のブロック ツリー | 無 | 現在利用可能です。 |
現在実行中のクエリ | 無 | 現在利用可能です。 |
現在のブロック ステートメント | 無 | 現在利用可能です。 |
インデックスの取得 | あり | 適用できなくなりました。 理由
詳細
|
ロックの詳細の取得 | あり | 適用できなくなりました。 理由 プラットフォームは次の点を担当します:
詳細
|
クエリ ID のリストの取得 | あり | 適用できなくなりました。 理由
詳細
|
特定のプラン ID に対する SQL クエリ プランの取得 | あり | 上と同じ。 |
クエリ プランと実行統計の取得 | あり | 上と同じ。 |
スロットル コンフィギュレーションの取得 | あり | 適用できなくなりました。 理由
詳細
|
待機統計の取得 | あり | 適用できなくなりました。 理由
詳細
|
最も高価なクエリのリスト | あり | 適用できなくなりました。 理由
詳細
|
現在の DTU (データベース トランザクションの単位) | あり | 適用できなくなりました。 理由
詳細
|
現在の DTU の詳細 | あり | 適用できなくなりました。 理由
詳細
|
削除済みのアクション
次のアクションが、LCS の SQL インサイトのアクション タブから削除されました。
Name | 削除済 | 摘要 |
---|---|---|
インデックスの作成 | あり | 適用できなくなりました。 理由
詳細
|
インデックスの削除 | あり | 適用できなくなりました。 理由
詳細
|
インデックスの再構築 | あり | 適用できなくなりました。 理由
詳細
|
統計の更新 | あり | 適用できなくなりました。 理由
詳細
|
クエリ ヒントの最適化 | あり | 適用できなくなりました。 理由
詳細
|
テーブル ヒントを追加するプラン ガイドの作成 | あり | 適用できなくなりました。 クエリ ヒントの最適化は "テーブル ヒントを追加するプラン ガイドの作成" と組み合わされます。 理由
詳細
|
プランを強制するプラン ガイドの作成 | あり | 上と同じ。 |
プラン ガイドの削除 | あり | 上と同じ。 |
現在のプラン ガイドの一覧 | あり | 適用できなくなりました。 理由
詳細
|
SQL プロセスの終了 | 無 | 引き続き使用できます。 |