4

関連するテクノロジ:SQL Server 2008 R2 RAID 5(4ディスク)Windows Server 2008

はじめに、RAID5アレイのディスクに部分的な障害が発生しました。障害は検出されませんでしたが、週末の計画外の停電とUPSの障害の後、ドライブライトが定期的に黄色に点滅しました(黄色に点灯はドライブの障害を示します)。停止は土曜日で、「PAGEIOLATCH_SH」エラーに気づき、SQL ServerのPAGEIOLATCH_SH待機タイプとは何ですか?という投稿を読んだ後、火曜日にライトが見つかりました。(とりわけ)。ドライブを交換して再構築しましたが、まだエラーが発生しています。

クエリは、基になるテーブルにいくつかのインデックスがあるビューを介して大きなテーブルに対して行われます。インデックスを再構築し、実行パスを改善するためにビューを再保存し、クエリを簡略化しました。問題を解決したものはありません。クエリは2006年以降問題なく実行されており、SQLServer2008またはR2へのアップグレードに問題はありませんでした。どちらも最初に利用可能になったときに適用されました。

当初、実行プランはかなり均等な分布を示していましたが、現在は2番目の項目「並べ替え(個別の並べ替え)」で過半数を示しており、インデックスシーク間で約30%が分割されています。以前は2〜10秒でしたが、現在は2分以上になっています。

この時点では、問題の原因を特定する方法がわかりません。私が見つけていないのは破損したデータであるか、クエリが最適とはほど遠いものに再最適化されているか、RAIDに問題があり、ライトや警告が表示されないと思います。

PAGEIOLATCH_SHや同様の問題が通常必要とすることを実行しました。インデックスは正しいように見えるだけでなく、この時点まで何年も機能しています。ドライブが機能していることを確認するために、私が知っているすべてのことも行いました。私の質問は、基本的に、この状況で問題の根本を診断するにはどうすればよいですか?

編集:サーバーは実際には停電でダウンしなかったが、その横のラックはダウンしたことがわかりました。ドライブが部分的に故障した理由はわかりませんが、現時点では停止と一致しているようです。

4

1 に答える 1

4

小さなPAGEIOLATCH_SH待ち時間がたくさんありますか、それとも大きな待ち時間はほとんどありませんか?

select * from sys.dm_os_wait_stats
where wait_type = 'PAGEIOLATCH_SH';

正確な結果は何ですか (カウント、合計待機時間、最大待機時間)。

多数の小さな待機は、クエリ プランの変更を示します。(可能であれば) クエリの論理読み取り数をベースライン数と比較すると、これが裏付けられます (論理読み取り数の増加)。また、可能であれば、計画を比較すると、問題を特定するのに役立ちます。

ドライブの問題 (IO の長い待機) を示す大きな待機はほとんどありません。ERRORLOG に記録されたエラー 833 は、これを裏付けるものです ( SQL Server has encountered ... occurrence(s) of I/O requests taking longer than ... seconds to complete)。

于 2011-05-31T19:00:08.383 に答える