2016-08-18 25 views
3

ストアドプロシージャ内で実行される特定のSQLクエリのタイムアウト値を設定します。 特定のクエリのタイムアウト値を設定することはできますか?特定のSQLクエリに対してタイムアウトを設定するにはどうすればよいですか?

+1

.netまたはjavaで使用する代わりにSQLで使用しようとしている理由 – Mani

+0

SQL Serverではクエリの実行が停止しないため、接続を実行するクライアントからタイムアウトを設定する必要があります。それがSSMSならば、あなたは 'sp_configure'を使うことができます – Petaflop

+0

私はフロントエンドで.Netを使用しています。そして、command.CommandTimeout = 10000のようなタイムアウトを設定するSqlCommandのオプションがあります。 @Mani –

答えて

1

クエリタイムアウト(RPCまたはバッチ)を適用するのはSQL ServerではなくクライアントAPIです。したがって、ストアド・プロシージャに複数の文が含まれている場合、クライアント・コマンドのタイムアウトをより細かく設定することはできません。目的のクエリーがクライアントによって別々に実行されるようにprocを分割し、そのコマンドに異なるタイムアウトを指定する必要があります。

タイムアウトを設定する方法の詳細は、クライアントAPIによって異なります。 .NETの場合は、SqlCommand.CommandTimeoutプロパティです。

+0

procに1つのクエリしか含まれていない場合、そのprocのタイムアウトを指定する方法は何ですか? .Net/javaのようなフロントエンドからですか?SqlCommand? @Dan Guzman –

+0

'.Net SqlCommand'の' CommandTimeout'プロパティはタイムアウトを制御します。 Javaから、私はそれがドライバに依存していると思います(例えば、 'setQueryTimeout()'メソッドをサポートしています)。 –

+0

ありがとう@Dan Guzman –

関連する問題