SQL Serverを叩く原因を調べるにはどうしたらいいですか?
質問
私の SQL Server の CPU は、今日のほとんどの時間、約 90% になっています。
常に使用されているため、再起動できる状態にはありません。
SQL 内の何がこのような CPU オーバーロードを引き起こしているのかを見つけることは可能でしょうか。
SQL Profiler を実行しましたが、非常に多くのことが起こっており、特定の何かが原因であるかどうかを判断するのは困難です。
sp_who2 を実行しましたが、すべてが正確に何を意味するのか、また、ここで考えられる問題を特定することが可能なのか、よくわかりません。
おそらくたくさん使用されているのだろうという回答を先取りするために、これは完全に正常な活動レベルから今日に限って起動しました。
私は、SQL 内で CPU の問題を引き起こしているものを見つける方法を探しています。
どのように解決するのですか?
私はここで、CPU が実際に SQL プロセスによって消費されていることを確認したことをデューディリジェンスと仮定します (perfmon のプロセス カテゴリ カウンターで確認できます)。通常、このようなケースでは、関連するパフォーマンス カウンターのサンプルを取得し、通常の負荷動作条件で確立したベースラインと比較します。この問題を解決したら、将来の比較のために、そのようなベースラインを確立することをお勧めします。
SQL がすべての CPU サイクルを費やしている場所を正確に見つけることができます。しかし、どこを見ればよいかを知るには、多くのノウハウと経験が必要です。SQL は 2005/2008 か 2000 か? 幸いなことに、2005 年とそれ以降については、いくつかの既製のソリューションがあります。John Samsonの回答で、あなたはすでに2つの良いポインタを得ています。私は、以下のものをダウンロードしてインストールすることをお勧めします。 SQL Server パフォーマンス ダッシュボード レポート . これらのレポートには、時間別やI/O別のトップクエリ、最も使用されているデータファイルなどが含まれており、どこに問題があるのかをすぐに把握することができます。数値とグラフの両方で出力されるので、初心者の方にはより便利です。
を使うこともお勧めします。 AdamのWho is Active スクリプトを使うこともお勧めします。
そして最後になりますが、パフォーマンス分析に関する MS SQL Customer Advisory Team のホワイトペーパーをダウンロードして読むことをお勧めします。 SQL 2005 の待ち時間とキュー .
私の推奨は、I/O を見ることです。バッファ プールをゴミ箱に入れるような負荷をサーバーに追加した場合 (つまり、メモリからキャッシュされたデータ ページを退避させるほど多くのデータを必要とする場合)、結果として CPU が大幅に増加します (意外に聞こえるかもしれませんが、事実です)。その原因は、通常、大きなテーブルをエンドツーエンドでスキャンする新しいクエリです。
関連
-
[解決済み] データ損失の可能性があるため、スキーマの更新を終了します。
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] FOREIGN KEY制約で参照されているため、テーブルを切り捨てることができないのですか?
-
[解決済み] 各GROUP BY式は、外部参照でない列を少なくとも1つ含む必要があります。
-
[解決済み] sql文の角括弧[]の使い方を教えてください。
-
[解決済み] Sqlサーバーに制約が存在するかどうかを確認する方法は?
-
[解決済み] SSISの日付と時刻の連結
-
[解決済み] 監査失敗、クレデンシャル検証 4776
-
[解決済み] 関数内から実行できるのは、関数と一部の拡張ストアドプロシージャのみです。
-
[解決済み] シンプルに保つ、クエリで複数のCTEを行う方法
-
[解決済み] SQL ServerでBegin / End BlocksとGoキーワードを使用する?
-
[解決済み] SQL Server Management StudioでIntelliSenseが機能しない