• 締切済み

SQL Server2005のパフォーマンス

SQL Server2005を使用しています。 CPUの負荷が高くなり、データベースにロック中になっている状態で、 リブートしました。 しばらく時間が経過すると、極端にパフォーマンスが下がる現象が起きてしまっています。 再度、リブートをすれば落ち着きます。 このような事象が発生している原因は何が考えられるのでしょうか? 他の文献等を探しましたが、検討がつきませんでした。 お手数をお掛けしますが、何かご存知の方、ご教授お願いします。

みんなの回答

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

「リブート直前のロックを引き起こしているのは、アプリからの多量のデータをSELECTするクエリのプロセスであることは明確になっています。 この時は、CPU使用率は100%近くまで上がっていました。」 SQL SERVERは大量のフルスキャンが起こるとパフォーマンス劣化し易いと聞いたことがあります。 可能ならば、副次索引を追加してアクセス負荷を減らせないか検討してみてはどうですか。

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

正直、経験したことないです。とりあえず状況の切り分けをしてください。 ・CPUを消費しているプロセスは何なのか、「system」or「sqlserver」、それとも別のプログラム? ・「極端にパフォーマンスが下がる現象」、この時のCPU、メモリ、DISK I/Oの状況は? ・イベントログに何か情報がないか。 これでも目処が立たなければ、SQL Serverのアンイストール&再インストールを行い、データ再ロードして状況を見るとかでしょうか。

879VJOAEUEWIU
質問者

補足

はい、私も初めてなので困惑してます。 リブート直前のロックを引き起こしているのは、アプリからの多量のデータをSELECTするクエリのプロセスであることは明確になっています。 この時は、CPU使用率は100%近くまで上がっていました。 もう一度、下記の情報が残っているのか見てみます。 ・CPUを消費しているプロセスは何なのか、「system」or「sqlserver」、それとも別のプログラム? ・「極端にパフォーマンスが下がる現象」、この時のCPU、メモリ、DISK I/Oの状況は? ・イベントログに何か情報がないか。 ちなみに、SQLSeverのセッション待ち?していたものが、リブートしたら、わっとアクセスしてメモリを消費し、不安定な稼動を引き起こしているとか? あるのでしょうか?

関連するQ&A

  • SQL server 2012のライセンスに関して

    SQL server 2012のライセンスとEditionに関する質問です。 Windows7のマシンをデータベースサーバとし、Windows7のマシン2台を クライアントとして使用する小規模なシステムを構築しようとしています。 Windows7マシンはCPUがCoreTM i5-3470程度の今時の法人用モデルの PCを3台とも使用します。 また、SQL server 2012はStandard Editionの使用を予定しております。 そこで質問ですが、 ・この場合、どの製品を購入するのが安価で済ませられるのでしょうか? サーバーライセンス×1とCAL×2でいいのでしょうか? ・稼動後、もし、データベースサーバが、Windows server 2008R2(2CPU)と なった場合、Windows7のサーバライセンスをアンインストールし、新しい サーバにインストールし直せば使用できるのでしょうか? それとも、サーバライセンスの追加購入かコアパックの購入が必要でしょうか? ・データベースをSQL server 2008R2で使用したい場合、購入するディスクキットを SQL server 2008R2用を購入すれば、SQL server 2008R2 Standard Edition として、使用できるのですか? 以上、よろしくお願い致します。

  • SQL Server 2008 Express

    Windows Server 2003 に SQL Server 2005 Express で使っている環境の バックアップ目的で サーバ機とWindows Server 2008 R2 Standard (64ビット版)を 購入し、SQL Server 2008 Express をインストールしました。 OSとSQL Server 2008 Expressのインストールはここ数日何度もトライしましたが、 解決に至りません。 Windows Server 2003 に SQL Server 2005 Express上のデータベースに 対して、クライアントは、Windows XP + Office Pro 2003でAccess より リンクテーブル→ODBCデータベース→SQL Server で進めていって テーブルが出てきますが、新しく構築したサーバ機でテストすると。 作成したデータベースが表示されません。 全く表示されないのではなく、デフォルトで入っている、master等は表示されます。 2005から2008へデータベースファイルを持ってきたことが原因と思い、 2008側で作りましたが、やはり、それも表示されません。 OSとの相性が問題かと思い、別のWindows 7 へ入れてみましたが、同じ現象です。 SQL Server 2008 Express 接続でネットで検索をかけると、全く繋がらないと いった質問だけで、ポートを空けるとか言った回等で解決に至ったか分からない まま、締め切られています。 自分の場合は、全く症状が違っていて、繋がるのですが、作成したのが見れないんです。 このような症状あると思うんですが、質問自体見つかりません。 Microsoft に問合せしましたが、所詮無償のものですので、テクネットやこちらを 紹介され、そちらで解決して下さいとのことで困っています。

  • SQL Server サーバー名を削除したい

    こんにちは! PC環境は、Windows XP SP3です。SQL Server 2008 R Expressが入っています。 「ひと目で分かる Visual C#アプリケーション開発入門」という本を買ってきて勉強をしようと思っています。 サーバーエクスプローラーから新しいSQL Serverデータベースの作成を選択したら添付のような画面が出てきました。 ここに「サーバー名」という項目があります。この中に、「ABC\SQLEXPRESS」や「S120」などがあります。 質問1: サーバー名とは何でしょうか?サーバー名というからには、SQL Serverを実行しているホスト名だと思うのですが、サーバー名を見ると4つくらいサーバー名が最初から登録されています。これは何でしょうか?また削除することはできるのでしょうか? 質問2: 1年くらい前に同じ勉強をしてデータベースまで既に作っています。その時つくったのが、「「ABC\SQLEXPRESS」、データベース名「TaskManage」でした。同じ名前のデータベースを作ろうとすると、既にデータベースがあるので作れませんと表示されてしまいます。 勉強の為に、再度データベースをつくりなおしたいのですが、過去に作ったデータベースはどのように削除すればよいでしょうか? 以上、宜しくお願い致します!!

  • SQL Serverへの接続

    下記の環境で開発をすることになりました。 開発言語:Borland C++Builder Professional Ver 5.0 データベース:Microsoft SQL Server2005 SQL Serverの文献を購入したところ、SQL Server2005へ通信するアプリケーションの作成には「.NET Framework Data Provider for SQL Server (SqlClient)」が推奨と書いてあり、「System.Data.SqlClient名前空間を参照することにより一連のクラスを利用できます。」とあります。 そこで、色々調べたのですが、どうしても Borland C++ で System.Data.SqlClient名前空間を参照する方法がわかりません。 参考ソース、参考サイト、参考文献なんでもいいのでご存知の方がいましたら教えて下さい。 (VB.Net、C# などは色々なサイトがあったのですが・・・)

  • SQL Server 2008 R2 Total

    SQL Server 2008 R2 に関してご質問がございます。 Windows Server 2008 R2、メモリ 8GB環境で SQL Server 2008 R2 Standard Edition を使用しています。データベースは 12GBが1つ、4GBが1つ、2GBが1つあります。 SQL Server が物理メモリを 8GB近く消費しているのですが、Total Server Memoryの値が搭載している物理メモリと同じ値(8.192GB)に達すると月に2,3度CPU負荷が100%に達しデータベースへ接続できない現象が発生しています。SQL Server ログにはこのようなメッセージが残っています。 ソース spid23s メッセージ Memory Manage(以下省略) ソース サーバー メッセージ Error: 17887, Severity: 10, State: 1. (Params:). The error is printed in terse mode because there was error during formatting. Tracing, ETW, notifications etc are skipped. ソース ログオン メッセージ エラー: 17803、重大度: 20、状態: 13。 ソース ログオン メッセージ There was a memory allocation failure during connection establishment. Reduce nonessential memory load, or increase system memory. The connection has been closed. (以下省略) これをうけて、max server memory の設定変更を検討しております。 SQL Server のプロパティはこのようになっています。 min server memory 0 max server memory 2,147,483,647 max server memory の値を7168MBへ変更し、その後Total Server Memoryの値が7168MBへ達した場合、CPU負荷が100%になる可能性はありますでしょうか? よろしくお願いします。

  • SQLのパフォーマンスボトルネック特定

    サーバーの保守期間切れに伴い、サーバー本体とSQLのバージョンをあわせて今回入れ替えるのですが、もともとMicrosft SQL Server 2008R2 のパフォーマンスが良くなく、まずは入れ替え前の状態で何がボトルネックなのかを調査したく思います。どうすればよいでしょうか。 新システムではCPUもコアが増え、メモリーもより多く実装し、HDDも一部SSD化するので高速になることを期待しているのですが、そもそも入れ替え前のボトルネックを知っておかないとやみくもに増強してもしかたがないので。 ネットにはSQLのパフォーマンスボトルネック特定の情報があふれていますが、専門要員もいないので、詳細すぎる情報は理解できず、できれば簡単に特定したく思います。

  • 【SQL-Serverでセッションをほったらかしにすると】

    アプリケーションはAccess2000を使用し、SQL-Server2000へADO接続しています。 質問は、アプリケーションを使用し、セッションを繋ぎっぱなしで1時間くらいほったらかしにした後の1度目の動作、(アプリケーション側で画面の遷移 or 検索などの動作を行った)際に、パフォーマンスがすごく悪いのです。 通常の3,4倍の時間がかかります。 その後は、また、普段のパフォーマンスに戻ります。 クライアントは複数台あり、ほとんどのクライアントで同じ事象があります。 調べた結果、パフォーマンス低下の原因は見当たらず、もし、同じような事象がある方は回答お願いいたします。

  • 【使い方】Microsoft SQL Server 2005

    googleなどで、キーワードを 「Microsoft SQL Server 使い方」などを 検索して探しておりましたが、 実際に何をしてから、どうすることによって テーブルを作成して、 作成したテーブルのフィールドに、値を代入して テスト用のデータベースを作成できるかが分かりません。 手順を教えて頂きたいと思います。 お手数ですが、お願いします。

    • ベストアンサー
    • MySQL
  • サーバーに負担をかけないSQL文の書き方

    PHPとMySQLを使ってサイトを作っているのですが、サーバーへの負荷が高くて困っています。 おそらく、SQL辺りが負荷をかけているようなので、改善したいのですが、会員制掲示板のシステムで 1.データベースから最新の書き込み10件を抜き出す 2.各書き込みごとに、COUNT(*) WHERE 投稿者ID=その投稿者のIDを繰り返し、その投稿者の投稿数を抜き出す というのをやっているのですが、これを1つのSQL文にすることはできないでしょうか? バージョンは下記のものを使用しています。 PHP 4.4.4 MySQL 4.0.27

    • ベストアンサー
    • MySQL
  • NT4.0のパフォーマンス(負荷の解析方法)

    NT4.0にSQLサーバー7.0をインストールして使っているのですが、最近になってこちら側からの要求に対してサーバーからの反応が遅くなったような気がします。NTに詳しい方にお尋ねします。どのようにすればNTのパフォーマンスの詳細、負荷の原因を調べることが出来ますか?耳にしたことがあるのがファイルごとに負荷を調べることが出来る??