問題:
Windows Server 2008 R2 システムにリモートで接続しているユーザーに、「サーバーが使用できません」エラーと接続タイムアウトが発生し、次のメッセージが表示されます:「'/' アプリケーションのサーバー エラー。タイムアウトが切れました。操作が完了する前にタイムアウト時間が経過しました。」またはサーバーが応答していません。ステートメントは終了しました。"
考えられる原因:
このタイムアウト エラーは、いくつかの要因によって発生する可能性があります。
解決策とトラブルシューティング:
この問題に対処する方法は次のとおりです:
デッドロックの特定: SQL Server Management Studio のアクティビティ モニターを使用して、ブロックされたプロセスを検出して解決します。
データベース統計を更新し、クエリ プラン キャッシュをクリアします: SQL Server Management Studio で次のコマンドを実行します:
<code class="language-sql">exec sp_updatestats dbcc freeproccache</code>
新しい実行プランを強制する: 最適ではない可能性のあるクエリ プランが再利用されないように SQL Server を構成します。
クエリの最適化: 上記の手順で問題が解決しない場合は、問題のあるクエリを手動で実行します。 遅い場合は、クエリを最適化してパフォーマンスを向上させます。
重要な注意:
提供されたコード スニペットは、ストアド プロシージャ (Application_Start
) が 482,751 件以上のレコードを更新する sp_OnlineUsers_Update_SessionEnd_And_Online
イベントに問題が発生している可能性を示唆しています。この大規模な操作がタイムアウトの原因である可能性があります。 これを修正するには、この更新を別のイベント ハンドラーに再配置するか、メイン アプリケーション スレッドのブロックを避けるためにバックグラウンド タスクとしてスケジュールすることを検討してください。
以上がWindows Server 2008-R2 リモート アクセスで接続タイムアウトが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。