- 締切済み
SQL サーバのCPU使用率が高い
お世話になります。 以下の問題に直面し困っております。 よろしくご教授願います。 元々MS SQL Server 2000 にて使用していたテーブル(4千数百万行)を ほぼ同じマシンスペックの筐体にインストールした SQL Server 2008R2 に移行したところ、単純なSELECT文を実行しただけでCPU使用率が100%近くまで上昇してしてしまいます。(2000では20~30%) インデックスが移行されていないのかと思い確認しましたが、全く同じ状態でした。 何かサーバ、OSの設定等で解決できるものでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- toshih2000
- ベストアンサー率22% (120/541)
SQL2000 の時に似たような事例がありました。 SQL2008R2 にも同様の問題があるのかはわかりませんが、 私が経験した事例では 比較的重いクエリーを実行すると4つのCPU(2コア×2スレッド)全てで 100%の状態が数分間続き、他の処理ができない状態でした。 最終的には、SQL2000が使用する CPU を一つ減らすことで 発生しなくなりました。 マイクロソフトの推奨として SQLサーバーを DC と同居している場合には、 CPU0は DC用に空けろとしています。 (この話は講習の時に聞いただけなので、資料としてはみたことありません)
- riveron77
- ベストアンサー率48% (180/370)
回答がつかないようなので。 状況がわからないし、ご自分でどのくらい調べられた&どんなトライをしたのかわからんので、的確なアドバイスはつかないと思いますよ。なのでタスクマネージャーの状況とか、トライした設定変更とか、2000&2008R2のH/W情報とか追記された方がいいかもしれませんね。 とりあえず今の情報では常道のtempdbの設定を変えてみるくらいしか思いつかない(汗) http://msdn.microsoft.com/ja-jp/library/ms175527.aspx あとお手軽(?)な常道としてはメモリ増設。SQLServer君は昔からメモリが大好物ですからね… ご覧になっているかと思いますが、2000と2008R2で最少システム要件で結構差があるんで、そもそもH/Wが適正か?という根本論に行き着くかも。 SQLServer2000の最少システム要件(抜粋) Intel Pentium または互換の 166 MHz 以上のプロセッサを搭載した PC SQLServer2008R2の最少システム要件(抜粋) 32 ビット版 x86 : 1 GHz 以上 64 ビット版 x64 : 1.4 GHz 以上 IA64 : 1 GHz 以上 SQL Server 2000 システム要件 http://technet.microsoft.com/ja-jp/sqlserver/gg638891.aspx システム要件 | SQL Server 2008 R2 http://www.microsoft.com/ja-jp/sqlserver/2008/r2/prodinfo/sysreqs.aspx
お礼
ご回答ありがとうございます。 なるほど、HW要件にそこまで差があったのですね。 TempDb設定変更を試してみます。