2012-05-07 15 views
1

私のサイトはIISで正しく動作しています。しかし、長い間働いた後。タイムアウトエラーが発生し始め、他の作業を行う際に忙しいようです。しかし、SQLサーバは現在のアプリケーションを除いて、サーバの使用/負荷のないローカルホストで動作しています。エラーが発生しました。「タイムアウトがタイムアウトしました。操作が完了する前にタイムアウト時間が経過したか、サーバーが応答していません。

"タイムアウトが切れました。操作が完了する前にタイムアウト時間が経過しているか、サーバーが応答していません。"

システムの再起動後、私は仕事を再開できます。これについて助けが必要です。事前に感謝します

+3

どこかでリークしているようなサウンドです。あなたのサイトは何をしていますか?コードを投稿できますか? – zimdanen

+0

ボックスが機能しているときとタイムアウトしているときのリソース利用状況はどうですか? IISサーバーまたはSQL Serverで大量のメモリを消費していますか?プロセッサは固定されていますか? –

答えて

1

あなたは実行タイムアウトを打つように聞こえます。このしきい値に達している場合は、パフォーマンスのボトルネックがどこかにあるかどうかを調べるために、いくつかのプロファイリングを行うことができます。この問題を回避するには、web.configで実行タイムアウトを指定することができます。

<httpRuntime executionTimeout="180" /> <!-- in seconds --> 

がSQL Serverで実行タイムアウトを変更するには、サーバーのプロパティにアクセスしてください:

http://img197.imageshack.us/img197/3152/srvrprops.png

をよりについてはこちらを参照してください。詳細:
Changing the CommandTimeout in SQL Management studio

+0

HTTPランタイムの実行タイムアウトは、SQL Serverからのタイムアウトとは関係ありません。また、SQL Server Management Studioの実行タイムアウトを変更しても、Management Studioの外部から実行されるSQLクエリには影響しません。これは純粋にManagement Studioの設定であり、SQL Serverの設定ではありません。 –

+0

@JakobChristensen:クエリーのタイムアウトを設定するためにイラストで更新されました。 –

+0

それはトリックを行うように見える –

0

最後に、この問題を解決するには、プロシージャキャッシュから実行計画を削除します。次のスクリプトを実行プランキャッシュをクリアするには

...

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]%' 


ストアドプロシージャを使用すると、結果は次のようになりますキャッシュ内に存在している場合:

results from execution plan query

返された結果から、以下の例の plan_handleを置き換えてください。

-- Remove the specific execution plan from the cache. 
DBCC FREEPROCCACHE (0x050017005CBF201940A1CE91000000000000000000000000); 
GO 


詳しい情報here

+0

リンクの代わりにコードとして例を投稿してください – jev

0

私は、この問題を解決するために再コンパイルを使用しています。

EXEC sp_recompile N'myproc' 
関連する問題