2

古いソフトウェアの一部を新しいサーバーに移行しました。以前は SQL Server 2008 Enterprise を使用していましたが、現在は新しいマシンで SQL Server 2014 Enterprise を使用しているため、より高速になるはずです。

古いソフトウェアはレガシー ソフトウェアであり、有効期限が近づいているため、修正にあまり力を入れたくありません。しかし、何らかの理由で、エラー メッセージが表示されるデータベースに対して SQL クエリを実行している C# 関数があります。

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

私が読んだのは、を使用してタイムアウト時間を延長する必要があるということだけCommandTimeoutです。しかし残念ながら、すべてが「context connection = true」で実行されます。したがって、タイムアウトを変更できるようにこの関数を再構築するには、かなりの作業が必要になります。

そして、なぜこれが古いマシンで実行され、新しいマシンでは実行されないのかを自問しています。そのため、新しいマシンまたは新しい SQL Server エンジンについて何かをしなければなりません。.NET Framework または SQL Server のコマンドの標準タイムアウトである 30 秒を変更する方法はありますか?

ご提案いただきありがとうございます。

4

2 に答える 2

1

CommandTimeoutプロパティを使用して、コマンドのタイムアウトを設定できます。

var cmd = new SqlCommand { CommandTimeout = 60 }
于 2016-02-24T17:55:14.233 に答える