• 締切済み

SQL サーバのCPU使用率が高い

お世話になります。 以下の問題に直面し困っております。 よろしくご教授願います。 元々MS SQL Server 2000 にて使用していたテーブル(4千数百万行)を ほぼ同じマシンスペックの筐体にインストールした SQL Server 2008R2 に移行したところ、単純なSELECT文を実行しただけでCPU使用率が100%近くまで上昇してしてしまいます。(2000では20~30%) インデックスが移行されていないのかと思い確認しましたが、全く同じ状態でした。 何かサーバ、OSの設定等で解決できるものでしょうか?

みんなの回答

回答No.2

SQL2000 の時に似たような事例がありました。 SQL2008R2 にも同様の問題があるのかはわかりませんが、 私が経験した事例では 比較的重いクエリーを実行すると4つのCPU(2コア×2スレッド)全てで 100%の状態が数分間続き、他の処理ができない状態でした。 最終的には、SQL2000が使用する CPU を一つ減らすことで 発生しなくなりました。 マイクロソフトの推奨として SQLサーバーを DC と同居している場合には、 CPU0は DC用に空けろとしています。 (この話は講習の時に聞いただけなので、資料としてはみたことありません)

全文を見る
すると、全ての回答が全文表示されます。
  • riveron77
  • ベストアンサー率48% (180/370)
回答No.1

回答がつかないようなので。 状況がわからないし、ご自分でどのくらい調べられた&どんなトライをしたのかわからんので、的確なアドバイスはつかないと思いますよ。なのでタスクマネージャーの状況とか、トライした設定変更とか、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

OhYeahZ
質問者

お礼

ご回答ありがとうございます。 なるほど、HW要件にそこまで差があったのですね。 TempDb設定変更を試してみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SQL Server6.0→2000の移行方法

    現行のSQL Server6.0から、別マシン上のSQL Server2000に DBを移行したいと考えてます。 いろいろ調べたところ、アップグレードウィザードを使用して 6.0→6.5→2000と2段階で移行するように書いてありましたが、 他に方法ありましたら教えてください。 また、上記のバージョンに限らず、移行を行う場合は 通常どういった方法をとるものなのでしょうか。 アップグレードウィザードだとテーブル定義や ストアドプロシジャなども移行に含まれますが、 データ以外は事前に移行したほうがよいのでは、、 と考えてます。 SQL Server初心者のため、ぜひともご教授お願いします。

  • 2000 Server で Paging File の使用率が下がりません。

     アプリケーションサーバとSQLサーバを同一マシンで運用しておりますが、Paging Fileの使用率が上昇しっぱなしで下がりません。  原因が掴めないのと、対処法が解らないので週3回再立ち上げを行っております。  有効な調査法、対処法等ご教授下さい!

  • SQL Serverの移行について

    SQL Server2000からSQL Server2008へ 移行したいです。 Accessからリンクテーブルをして使用しています。 移行後、Accessのプログラムを実行しようとすると、 エラーが発生します。ODBC接続を使用しています。 リンクテーブルマネージャで再リンクしてみたのですが、 うまくいきませんでした。 何かうまくいくためのヒント等わかるかたいらっしゃいますでしょうか?

  • SQL-Server2000のCPU負荷率

    教えて下さい。 Windows2000ServerにSQL-Server2000実装して クライアント6台で稼動しています。 (CPUPenIII、Mem768MB) Serverを再起動した直後でもCPU負荷率約30%~40%、時間がたってくると約10%づつ位負荷率が上がってきます。誰もクライアントからアクセス(Read・Insert・Update等)していなくても負荷率が上がっていき最終的に約90%位(たまに100%近くいきます)になってしまいます。 なにか原因らしきものはありますか? ウィルスソフトはSymantecNortonが入っていた形跡はありますが、現在使用していない(Serviceを止めている)様です。

  • アクセスからSQLサーバーへ移行の目安

    よく 多数で使うならSQLサーバー、 もしくは一人で使っていてもデータ量が多いならSQLサーバーへ移行、 と聞きますが 後者はどのくらいのデータ量を言うのでしょうか? 現在、 レコード数が10000レコードを超えるテーブルが2つあり、 テーブル数も10個あります。 ファイルのサイズは30MBです。 すでにデータを分割してリンクテーブルとしていますが この場合SQLサーバーへ移行するメリットはありますか? よろしくお願いします。

  • SQL Serverのエラーについて

    サーバーの環境 OS:MS Windows NT Server 4.0 DB:MS SQL Server6.5 SQL Server 6.5 Service Pack 5a Windows NT 4.0 Service Pack 6a Internet Information Server 4.0 Internet Explorer 5.5 SQL Serverにクエリーを実行すると以下のエラーが発生します。 解決方法をご存知の方いましたらご教授願います。 Microsoft OLE DB Provider for ODBC Drivers エラー '80040e14' [Microsoft][ODBC SQL Server Driver][SQL Server]行のサイズが 2107 になり、作業テ-ブルの作成に失敗しました。テ-ブル 2014 内の 1 行の許容サイズを超えます。

  • SQLサーバの設定について

    今まで使用していたAccessのデータをWindowsServer2003とSQLServer2000のサーバマシンにデータ(テーブル)のインポートをすることができました。 同じネットワーク上のWindowsXPProのPCからAccess2000で作ったMDBでこのサーバマシンのテーブルにリンクしODBC接続で接続して書き込み、削除などもできています。 ここまではいいのですが、4人程度が同時に接続して運用する場合、何かサーバ側の設定しておくべき点があったら教えていただけるとありがたいです。 現状SQLサーバで特別な設定をしているわけではないのでただ動いているだけです。 (セキュリティーやバックアップなど何もわかりません。) 以上、よろしくお願いします。

  • SQLサーバー2008と2000は共存可能?

    近々顧客管理ソフトの導入を予定しています。 このソフトはSQLサーバー2000を使用して動くそうなのですが、インストールするマシンには「SMILE BS 会計」という大塚商会の会計ソフトが既にインストールされており、このソフトはSQLサーバー2008を使用しています。 OSがXPのPCに、この二つのソフトを共存させる事は可能でしょうか? 一応、web上の情報では可能らしいのですが...(2005と2008ですが) http://msdn.microsoft.com/ja-jp/library/ms143719(SQL.90).aspx

  • 【PostgreからSQL-ServerのテーブルをSelect】

    【PostgreからSQL-ServerのテーブルをSelect】 PostgreからSQL-ServerのDBにあるテーブルをSelectしたいのですが、 ODBCまでは設定したものの、それ以降のやり方がわかりません。 どなたか教えていただけないでしょうか。 【参照元】 *Windows 2003 ServerR2(32Bit) *SQL-Server 2005 【参照先】 *Windows 2003 ServerR2(32bit) *PostgreSQL 8.2 参照先と参照元を変更すればSQL-Server上で出来そうなのですが、 今回、Postgre側からSQL-ServerにSelectしなければなりません。 OracleでいうところのDB Linkなのですが、どなたか教えていただけないでしょうか。 URLのご提示でも結構です。 どうぞよろしくお願いいたします。 Postgre ---- Select(後にViewに変更予定) ----→ SQL-Server

  • SQLサーバのデータをAccessにリンクする方法

    SQLサーバの勉強を始めたばかりの者です。 Accessのテーブルを、SQLサーバに移行したいと考えています。 Acessのサイズアップして SQLサーバにデータを移行することはなんとかできた様子なんですが 今度はそのSQLサーバのデータをAccessにリンクする方法がわかりません。 ネットで検索したのですが Accessのバージョンが違っていたりしてどうもわかりません。 わかりやすく手順など掲載されているサイトがあったら 教えてください! Access:2007 SQL Server:2008 を使用しています。