サーバー構成: リモート クエリのタイムアウト

適用対象: SQL Server

この記事では、SQL Server Management Studio または Transact-SQL を remote query timeout 使用して SQL Server のサーバー構成オプションを構成する方法について説明します。

このオプションは remote query timeout 、SQL Server がタイムアウトするまでのリモート操作にかかる時間を秒単位で指定します。このオプションの既定値は 600、10 分の待機です。 この値を 0 に設定すると、タイムアウトが無効になります。 この値は、データベース エンジンによってリモート クエリとして開始される送信接続に適用されます。 この値は、データベース エンジンが受信したクエリには影響を与えません。 クエリは完了するまで待機します。

異種クエリの場合は、 remote query timeout リモート プロバイダーがクエリがタイムアウトする前に結果セットを待機する必要がある秒数 (行セット プロパティを使用して DBPROP_COMMANDTIMEOUT コマンド オブジェクトで初期化される) を指定します。この値は、リモート プロバイダーでサポートされている場合に設定 DBPROP_GENERALTIMEOUT するためにも使用されます。 これによって、他の操作に対しても、指定した秒数の後にタイムアウトが適用されます。

リモート ストアド プロシージャの場合は、 remote query timeout リモート ストアド プロシージャがタイムアウトするまでのリモート EXEC ステートメントの送信後に経過する必要がある秒数を指定します。

Note

remote query timeoutサーバー構成設定は、接続とクエリのタイムアウト エラーとは無関係です。 詳細については、「クエリ タイムアウト エラーのトラブルシューティング」を参照してください。

前提条件

この値を設定するには、あらかじめリモート サーバー接続が許可されている必要があります。

アクセス許可

パラメーターなしで、または最初のパラメーターだけを指定して 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 master;
    GO
    
    EXECUTE sp_configure 'remote query timeout', 0;
    GO
    
    RECONFIGURE;
    GO
    

詳しくは、「サーバー構成オプション」をご覧ください。

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

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