remote query timeout (サーバー構成オプション) の構成
適用対象: SQL Server
この記事では、SQL Server Management Studio または Transact-SQL を使用して、SQL Server でリモート クエリ タイムアウト サーバー構成オプションを構成する方法について説明します。
リモート クエリ タイムアウト オプションは、SQL Server がタイムアウトになるまでのリモート操作の時間を秒単位で指定します。 このオプションのデフォルト値は 600
で、10 分間待機します。 この値を 0
に設定すると、タイムアウトが無効になります。 この値は、データベース エンジンによってリモート クエリとして開始される送信接続に適用されます。 この値は、データベース エンジンが受信したクエリには影響を与えません。 クエリは完了するまで待機します。
異種クエリの場合、リモート クエリ タイムアウトは、クエリがタイムアウトになる前にリモート プロバイダが結果セットを待機する秒数 (DBPROP_COMMANDTIMEOUT
行セット プロパティを使用してコマンド オブジェクトで初期化) を指定します。 この値は、リモート プロバイダーでサポートされている場合、DBPROP_GENERALTIMEOUT
の設定にも使用されます。 これによって、他の操作に対しても、指定した秒数の後にタイムアウトが適用されます。
リモート ストアド プロシージャの場合、 remote query timeout は、リモート EXEC
ステートメントを送信してからリモート ストアド プロシージャがタイムアウトするまでの経過時間を指定します。
Note
リモート クエリ タイムアウト サーバーの構成設定は、接続とクエリのタイムアウト エラーとは関係ありません。 詳細については、「クエリ タイムアウト エラーのトラブルシューティング」を参照してください。
前提条件
この値を設定するには、あらかじめリモート サーバー接続が許可されている必要があります。
アクセス許可
パラメーターなしで、または最初のパラメーターだけを指定して sp_configure
を実行する権限は、既定ですべてのユーザーに付与されます。 両方のパラメーターを指定して sp_configure
を実行し構成オプションを変更したり RECONFIGURE
ステートメントを実行したりするには、ALTER SETTINGS
サーバーレベル権限がユーザーに付与されている必要があります。 ALTER SETTINGS
権限は、sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。
SQL Server Management Studio の使用 [SQL Server]
オブジェクト エクスプローラーで、サーバーを右クリックし、[プロパティ] を選択します。
[接続] ノードを選択します。
[リモート サーバー接続] の [リモート クエリ タイムアウト] ボックスで、0 ~ 2,147,483,647 の値を入力するか選択し、 SQL Server がタイムアウトするまでの最大秒数を設定します。
Transact-SQL の使用
データベース エンジンに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、 sp_configure を使用して
remote query timeout
オプションの値を0
に設定し、タイムアウトを無効にする方法を示します。
USE AdventureWorks2022;
GO
EXEC sp_configure 'remote query timeout', 0;
GO
RECONFIGURE;
GO
詳細については、サーバー構成オプション (SQL Server)を参照してください。
補足情報: remote query timeout オプションを構成した後
新しい設定は、サーバーを再起動しなくてもすぐに有効になります。