私のサイトはIISで正しく実行されています。しかし、長い間働いた後。タイムアウトエラーが発生し始め、他の作業を行うのに忙しいようです。しかし、SQLサーバーはローカルホストで実行されており、現在のアプリケーションを除いてサーバーの使用/負荷はありません。
「タイムアウトが期限切れになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。」
システムの再起動を行った後、私だけが作業を再開できます。これについての助けが必要です。前もって感謝します
実行タイムアウトになっているようです。このしきい値に達している場合は、プロファイリングを実行して、どこかにパフォーマンスのボトルネックがあるかどうかを確認することをお勧めします。この問題を回避するには、web.config
:で実行タイムアウトを指定できます。
<httpRuntime executionTimeout="180" /> <!-- in seconds -->
SQL Serverで実行タイムアウトを変更するには、サーバーのプロパティに移動します。
http://img197.imageshack.us/img197/3152/srvrprops.png
詳細については、こちらを参照してください:
SQLManagementStudioでのCommandTimeoutの変更
この問題を解決するために再コンパイルを使用しました。
EXEC sp_recompile N'myproc'
最後に、プロシージャキャッシュから実行プランをクリアすることで、この問題を解決しました。
プランキャッシュをクリアするには、次のスクリプトを実行します...
SELECT plan_handle, st.text
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS st
where objtype = 'Proc' AND st.[text] like '%[Enter stored procedure name here]%'
ストアドプロシージャがキャッシュに存在する場合、結果は次のようになります。
返された結果から、以下の例のplan_handleを置き換えます...
-- Remove the specific execution plan from the cache.
DBCC FREEPROCCACHE (0x050017005CBF201940A1CE91000000000000000000000000);
GO
詳細はこちら