0

W2003 Web サーバーで実行している約 30 のサイトのうち、1 つのみで問題が発生しています。

おそらく 1 日の約 25% の間、Web サイトは常に次を返します: SQL へのさまざまな接続での SQL タイムアウト エラー (ODBC を使用)

ODBCドライバーを確認して、見つけた最新のもの(3.5.x?)に更新しました。また、SQLサーバーに問題があるかどうかも確認しています(Gb LAN経由で接続された同じネットワーク上で実行されている別のサーバー)

IIS ログ ファイルが "[Microsoft][ODBC_SQL_Server_Driver]Timeout_expired" を返す

今朝問題が発生したので、SQL サーバーを再起動して、負荷に関連する問題かどうかを確認しようとしましたが、サイトは再起動後約 20 分間これらのエラーを生成し続けました (他のすべてのサイトが機能していたにもかかわらず)。この時点で)-その後、タイムアウトが停止し、現在は再び機能しています。

Web サイトの SQL 接続のタイムアウトを延長して、これが何かを変更したかどうかを確認しようとしましたが、何もしていないようです。

このサイトは約 3 年間継続して問題なく稼働しており、しばらくサーバーに変更を加えていません。

DB接続が正しく開いている/閉じていることを確認するためにすべてのコードを調べました(サイトはクラシックASPです)、同時に開いている接続が多すぎないことを確認しましたが、すべて役に立たず、不足し始めていますアイデアの....誰か?

私の唯一の考えは、ODBC の代わりに OLEDB 接続に変更することですが、その前に、最初に試すことができる見逃したものがないことを確認したかったのです。

前もって感謝します!

カール。

4

4 に答える 4

1

SQL 接続のタイムアウトの変更について言及されていますが、タイムアウトの正確な原因は明確ではありません。データベースへの接続ですか、それともクエリに時間がかかりすぎますか?

役立つツールの 1 つに Sql Profiler があります。タイムアウトが発生しているユーザーまたはデータベースに限定してください。クエリの長​​さが問題である場合、これにより、どのクエリが長く実行されているかを正確に把握できます。

接続自体がタイムアウトしている場合は、Management Studio で現在のアクティビティを確認してください。これは、開いている接続の数を示しています。それらが大きい場合は、おそらくどこかに漏れがあります。以下を含む接続文字列を使用して実行することにより、開発中にテストできます。

MAX POOL SIZE=2;

これにより、リークによって接続プールがすぐに使い果たされます。

Mitch Wheat の提案は非常に優れています。不正確な統計は、時間の経過とともにパフォーマンスを実際に低下させる可能性があります。このクエリは、統計が最新かどうかを示します。

SELECT 
    object_name = Object_Name(ind.object_id),
    IndexName = ind.name,
    StatisticsDate = STATS_DATE(ind.object_id, ind.index_id)
FROM SYS.INDEXES ind
order by STATS_DATE(ind.object_id, ind.index_id) desc
于 2009-05-27T11:26:28.263 に答える
0

SQL Server には、インデックスの再構築を含む定期的なメンテナンス プランがスケジュールされている (実行されている) か?

于 2009-05-27T10:46:25.740 に答える
0

コードを変更していないので、接続に問題はありません。

SQL ステートメントの実行に時間がかかる理由を調べてください。もっと簡単に言うのは難しいです。変更されていないコードと、変更されたデータベースの他の使用との間にデッドロック状態が発生する場合があります。しかし、それを追跡する必要があり、変更されていない作業コードには触れないでください。

于 2009-05-27T10:50:38.617 に答える
0

上記のことがうまくいかない場合は、タスク マネージャーでページ ファイル (PF) の使用状況を確認し、その場所を確認します。仮想メモリが不足していると、タイムアウト エラーが発生する可能性があります。上限近くにあるように見える場合は、さらに高くすることを検討してください。アプリケーションのさまざまな部分で散発的に多くの SQL タイムアウト エラーが発生しました。パフォーマンスの問題であることが判明しました。サーバーに搭載されている RAM の量に応じて、少なくとも 4000 MB のページ ファイルをお勧めします。

于 2011-04-12T14:23:19.163 に答える