次の方法で共有


サーバー構成: remote query timeout

適用対象:SQL Server

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

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 オプションを構成した後

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