VisualStudioから手動で実行する単純なSQLスクリプトがあります。これはデータ生成スクリプトなので、実行には数分かかると思います。しかし、次のエラーが発生します。
タイムアウトが期限切れになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。
この1つのファイルを実行できるように、グローバルサーバー設定を変更したくありません。そのスクリプト/トランザクションのタイムアウトを増やすためにファイルの先頭に置くことができるコマンドはありますか?
VisualStudioから手動で実行する単純なSQLスクリプトがあります。これはデータ生成スクリプトなので、実行には数分かかると思います。しかし、次のエラーが発生します。
タイムアウトが期限切れになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。
この1つのファイルを実行できるように、グローバルサーバー設定を変更したくありません。そのスクリプト/トランザクションのタイムアウトを増やすためにファイルの先頭に置くことができるコマンドはありますか?
SQL Management Studio を使用する場合、オプションには 2 つの設定があります (私が使用している SQL Server 2005 の Management Studio を参照しています):
(私の Management Studio はドイツ語なので、名前を正しく英語に翻訳したことを願っています)。 )
「エクストラ」->「オプション」の下のメニューで両方を見つけることができます
オプションでは、最初のものは「クエリ実行」の下にあり、そこで「実行タイムアウト」を設定できます(私のものはすでにゼロでした)
2番目のもの(これが必要だと思います)は、「デザイナー」の下の最初のオプションです。「テーブルデザイナーの更新のタイムアウトをオーバーライドする」のようなもので、ボックスをチェックしてそこに値を入力できます。
少し前に、あなたと同様の問題 (大きなテーブルで ALTER TABLE を実行したときのタイムアウト メッセージ) があり、このオプションをより高い値に設定することで解決しました。
CommandTimeoutプロパティを増やすと、問題が解決します。
SqlCommandObject.CommandTimeout = 500000
以下に記載されている手順を使用して、Visual Studio でクエリ タイムアウトと接続タイムアウトの値を増やします。クエリ タイムアウトの変更:
Visual Studio IDE で、[ツール] -> [オプション] -> [データベース ツール] -> [クエリおよびビュー デザイナー] に移動します。[長時間実行クエリをキャンセル] オプションのチェックを外すか、[後でキャンセル] オプションの値をより高い値に変更できます。接続タイムアウトの変更:
Visual Studio IDE で、[表示] -> [サーバー エクスプローラー] に移動してサーバー エクスプローラーを有効にします。サーバー エクスプローラーで、CLR オブジェクトがデプロイされている SQL Server への接続を右クリックし、[接続の変更] を選択します。[接続の変更] ウィンドウの [詳細設定] ボタンをクリックします。[詳細プロパティ] ウィンドウで、[初期化] セクションの [接続タイムアウト] の値をより高い値に変更します。
@christianの回答はうまくいきませんでした(SQL Management Studioの設定を変更しました)。
Biswaの答えは私にとってはうまくいきました。明確にするためにコードを含めます
SqlCommand cmd = new SqlCommand("MyReport", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandTimeout = 60; /* note default is 30 sec */
SQL Server は、ユーザーに戻る前に無期限に待機します。おそらく、クライアント側のタイムアウト プロパティが設定されていました。たとえば、ADO コマンド オブジェクトのタイムアウト プロパティを設定できます。
乾杯、アンディ。
気にしないでください。SQL Management Studio で問題なく実行できます。
Microsoft SQL Server Management Studio 2005 の特定の手順を明確にしたかっただけです...「デザイナー」変数が「クエリ実行」をオーバーライドするため、「クエリ実行」セクションで「0」に設定されている場合でも、「デザイナー」デフォルトを確実に調整する必要があります。 ' 設定。