3

Visual Studio 開発サーバーで実行されている Asp.NET Web サイト アプリケーションに対して、Sql Server Profiler を使用してトレースを実行しようとしています。

ただし、トレースの実行中は常に、Web アプリケーションからのすべての db リクエストが失敗し、次のエラー メッセージが表示されます。

「タイムアウトが発生しました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。」

トレースを停止すると、Web アプリケーションは再び機能します。

これに関するご意見をお待ちしております。

4

3 に答える 3

1

デバッグ中に SQL 接続の CommandTimeout を増やし、アプリケーション プールのタイムアウト値も増やす必要があります。

于 2010-07-19T16:32:21.630 に答える
0

プロファイラーのタイムアウトの問題を回避したら、データベースのチューニングを検討する必要があります (まだ行っていない場合は、そうは思えませんが)。

最近同様の問題が発生しましたが、特定のクエリ/ステートメントでの読み取りが多いため、IO がブロックされていることが判明しました。すでに動きの遅いデータベース上でプロファイラーを実行するのは困難でした。静かな時間に 10 分間のセクションでプロファイラーを実行する必要がありましたが、これは最も負荷の高い最大の問題を特定するのには役立ちません.

プロファイラーでデータをキャプチャし (SQL Server 2005 上)、データベース チューニング アドバイザ (DTA) が推奨するインデックスと統計を実装すると、データベースは再び期待されるパフォーマンス レベルで実行されました。

この無料の ebook on sql server profiler を読むことをお勧めします....

http://www.red-gate.com/products/SQL_Response/offers/mastering_sql_profiler_ebook.htm

DTA がインデックスと統計を推奨するのに役立つ軽量トレースを実行する方法について詳しく説明します。これにより、データベースのパフォーマンスが向上し、コード内にある実行速度の遅いクエリを特定することもできます。

実行しているトレースは、データベースを限界まで傾けている可能性があるため、10 ~ 20 分のセクションで実行する方がより実行可能である可能性があります。

IO ブロッキングの問題がある場合、これは一般的に SQL サーバー全体に影響し、管理スタジオは時々応答しないように見えます。

于 2010-07-13T09:49:05.733 に答える
0

誤ってシングル ユーザー モードでスタックしている可能性はありますか?

これを試して:

ALTER DATABASE [データベース名] SET MULTI_USER;

于 2010-07-21T22:23:42.393 に答える