2011-09-17 25 views
1

最近、MSSQLサーバーを2000年版から2005年に更新して、UDFを利用し、システムでいくつかの結果を微調整しました。私たちはソースコードを持っていません。SQL Server 2005でSQL Server 2005から移行されたTimeoutException

私はSQLのバージョンを置き換えました。大規模なクエリを実行する必要がある場合を除いて、すべて正常に動作しました。私はそれについて検索した

System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. 

、と私は取得することは、クライアントであることを、私はそれを想定して、プログラム的に解決しなければならないCommandTimeout問題であることを使用することです:私はこのエラーを取得していますこれは奇妙なことです。なぜなら、それは常に大きなクエリでも機能していたからです。

私の推測では、SQL Server 2000では正常に機能していたため、クライアントサイドではないと思われます。

タイムアウトを削除する方法はありますか?システムは完全に内部的で、少数の人しかそれを使用しないので、停止の危険はありません...私はこの迷惑なメッセージを永遠に実行するクエリを好む。

ありがとうございます!

+0

だからのUDFの使用を作り、データベースのバージョンを変更することを超えて、サーバー側のコードを「微調整」しました。あなたはバージョンの問題であるか、あなたの "微調整"であるかを分離するために修正プログラムをロールバックしようとしましたか? – billinkc

+0

タイムアウトはSQL Serverではなくクライアントによって設定されるため、SQL Serverの終わりから変更することはできません。 –

+0

@billinkcはい、同じ問題です。 –

答えて

0

設定ファイルまたは接続設定時に、接続のタイムアウトを設定できます。

SqlCommand1.CommandTimeout = 400000は

+0

私たちはソースコードを持っていないということです。 : - /しかし、SQL Server 2000に接続したときに実際に機能したため、クライアント側には設定がありません。サーバーのデフォルト値を設定する方法はありませんか? –

+1

@ゴンザロ - あなたは、クライアントのCommandTimeout値を制御することができない場合、私は問題を軽減するためにそれらを調整し、アプリケーションが作成しているSQL呼び出しをプロファイリングすることをお勧めします。 – etliens

+0

私はSQL 2005の頭上を忘れることはできませんが、2008年には管理スタジオのサーバーを右クリックし、プロパティに移動してから接続を終了し、リモートクエリのタイムアウトを設定します。 –

1

アップグレード後にすべての統計情報を更新しましたか?

How to: Upgrade to SQL Server 2005 (Setup)

After upgrading the Database Engine to SQL Server 2005, complete the following tasks:

...

Update statistics - To help optimize query performance, we recommend that you update statistics on all databases following upgrade. Use the sp_updatestats stored procedure to update statistics in user-defined tables in SQL Server 2005 databases.

Update usage counters - In earlier versions of SQL Server, the values for the table and index row counts and page counts can become incorrect. To correct any invalid row or page counts, we recommend that you run DBCC UPDATEUSAGE on all databases following upgrade.

+0

うん、私はそれをやりました。とにかく、この問題はクエリがどのくらい時間がかかるかではありません。私はSQL Server 2000のように長いクエリを実行できる必要があります。 –

+0

@Gonzalo - アップグレード後に発生した突然のタイムアウトが間違った統計によって間違って発生する可能性があるため、 – etliens