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]

  1. オブジェクト エクスプローラーで、サーバーを右クリックし、[プロパティ] を選択します。

  2. [接続] ノードを選択します。

  3. [リモート サーバー接続][リモート クエリ タイムアウト] ボックスで、0 ~ 2,147,483,647 の値を入力するか選択し、 SQL Server がタイムアウトするまでの最大秒数を設定します。

Transact-SQL の使用

  1. データベース エンジンに接続します。

  2. 標準バーから、 [新しいクエリ] を選択します。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、 sp_configure を使用して remote query timeout オプションの値を 0 に設定し、タイムアウトを無効にする方法を示します。

USE AdventureWorks2022;
GO
EXEC sp_configure 'remote query timeout', 0;
GO
RECONFIGURE;
GO

詳細については、サーバー構成オプション (SQL Server)を参照してください。

補足情報: remote query timeout オプションを構成した後

新しい設定は、サーバーを再起動しなくてもすぐに有効になります。