sp_serveroption (Transact-SQL)sp_serveroption (Transact-SQL)

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

リモート サーバーおよびリンク サーバーのサーバー オプションを設定します。Sets server options for remote servers and linked servers.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

sp_serveroption [@server = ] 'server'   
      ,[@optname = ] 'option_name'       
      ,[@optvalue = ] 'option_value' ;  

引数Arguments

[ @server = ] 'server' オプションを設定する対象のサーバーの名前です。[ @server = ] 'server' Is the name of the server for which to set the option. server のデータ型は sysnameで、既定値はありません。server is sysname, with no default.

[ @optname = ] 'option_name' 指定したサーバーに設定するオプションです。[ @optname = ] 'option_name' Is the option to set for the specified server. option_namevarchar ( 35 ) 、既定値はありません。option_name is varchar( 35 ), with no default. option_name値は次のいずれかを指定できます。option_name can be any of the following values.

Value 説明Description
collation compatiblecollation compatible リンク サーバーに対する分散クエリの実行に影響を与えます。Affects Distributed Query execution against linked servers. このオプションに true を設定した場合、SQL ServerSQL Server は、文字セットと照合順序 (並べ替え順) に関して、リンク サーバー内のすべての文字がローカル サーバーと互換性があると仮定します。If this option is set to true, SQL ServerSQL Server assumes that all characters in the linked server are compatible with the local server, with regard to character set and collation sequence (or sort order). これにより、SQL ServerSQL Server からプロバイダーに文字を含む列の比較を送信できるようになります。This enables SQL ServerSQL Server to send comparisons on character columns to the provider. このオプションが設定されていない場合、SQL ServerSQL Server では文字列を含む列の比較の評価は常にローカルで行われます。If this option is not set, SQL ServerSQL Server always evaluates comparisons on character columns locally.

このオプションは、リンク サーバーに対応するデータ ソースがローカル サーバーと同じ文字セットと並べ替え順を持っていることが確認できている場合のみ設定します。This option should be set only if it is certain that the data source corresponding to the linked server has the same character set and sort order as the local server.
collation namecollation name use remote collationtrue、かつ、データ ソースが SQL ServerSQL Server データ ソースでない場合に、リモート データ ソースが使用する照合順序の名前を指定します。Specifies the name of the collation used by the remote data source if use remote collation is true and the data source is not a SQL ServerSQL Server data source. SQL ServerSQL Serverがサポートしている照合順序名のいずれかを指定する必要があります。The name must be one of the collations supported by SQL ServerSQL Server.

このオプションは、 SQL ServerSQL Server以外の OLE DB データ ソースにアクセスし、その照合順序が SQL ServerSQL Server 照合順序のいずれかと一致する場合に使用します。Use this option when accessing an OLE DB data source other than SQL ServerSQL Server, but whose collation matches one of the SQL ServerSQL Server collations.

リンク サーバーは、そのサーバー内のすべての列で使用される単一の照合順序をサポートしている必要があります。The linked server must support a single collation to be used for all columns in that server. リンク サーバーが、単一のデータ ソース内で複数の照合順序をサポートしている、またはリンク サーバーの照合順序が SQL ServerSQL Server 照合順序のいずれかと一致するかどうかが判断できない場合は、このオプションを設定しないでください。Do not set this option if the linked server supports multiple collations within a single data source, or if the linked server's collation cannot be determined to match one of the SQL ServerSQL Server collations.
connect timeoutconnect timeout リンク サーバーに接続するためのタイムアウトの値(秒単位)。Time-out valuein seconds for connecting to a linked server.

値が 0 の場合は、sp_configure の規定値を使用します。If 0, use the sp_configure default.
data accessdata access 分散クエリ アクセスに対してリンク サーバーを有効または無効にします。Enables and disables a linked server for distributed query access. sp_addlinkedserver を介して追加された sys.server エントリにのみ使用可能です。Can be used only for sys.server entries added through sp_addlinkedserver.
distdist ディストリビューターです。Distributor.
lazy schema validationlazy schema validation リモート テーブルのスキーマをチェックするかどうかを指定します。Determines whether the schema of remote tables will be checked.

true の場合、クエリの先頭でのリモート テーブルのチェックをスキップします。If true, skip schema checking of remote tables at the beginning of the query.
pubpub パブリッシャーです。Publisher.
query timeoutquery timeout リンク サーバーに対するクエリのタイムアウト値です。Time-out value for queries against a linked server.

値が 0 の場合は、sp_configure の規定値を使用します。If 0, use the sp_configure default.
rpcrpc 特定のサーバーから RPC を有効にします。Enables RPC from the given server.
rpc outrpc out 特定のサーバーへの RPC を有効にします。Enables RPC to the given server.
subsub サブスクライバー。Subscriber.
systemsystem 単に情報を示すためだけに特定されます。Identified for informational purposes only. サポートされていません。Not supported. 将来の互換性は保証されません。Future compatibility is not guaranteed.
use remote collationuse remote collation リモート列とローカル サーバーのどちらの照合順序を使用するかを指定します。Determines whether the collation of a remote column or of a local server will be used.

true の場合、SQL ServerSQL Server データ ソースに対してはリモート列の照合順序を使用し、以外のデータ ソースに対してはcollation nameSQL ServerSQL Server で指定した照合順序を使用します。If true, the collation of remote columns is used for SQL ServerSQL Server data sources, and the collation specified in collation name is used for non-SQL ServerSQL Server data sources.

false の場合、分散クエリは常にローカル サーバーの既定の照合順序を使用します。collation name とリモート列の照合順序は無視されます。If false, distributed queries will always use the default collation of the local server, while collation name and the collation of remote columns are ignored. 既定値は false です。The default is false. false の値は、SQL ServerSQL Server 7.0 で使用される照合順序セマンティクスと互換性があります。(The false value is compatible with the collation semantics used in SQL ServerSQL Server 7.0.)
remote proc transaction promotionremote proc transaction promotion このオプションを使用して、 MicrosoftMicrosoft 分散トランザクション コーディネーター (MS DTC) トランザクションにより、サーバー間のプロシージャのアクションを保護します。Use this option to protect the actions of a server-to-server procedure through a MicrosoftMicrosoft Distributed Transaction Coordinator (MS DTC) transaction. このオプションが TRUE (またはON) の場合はリモート ストアド プロシージャを呼び出す分散トランザクションを開始し、トランザクションは MS DTC に参加します。When this option is TRUE (or ON) calling a remote stored procedure starts a distributed transaction and enlists the transaction with MS DTC. リモート ストアド プロシージャを呼び出す SQL ServerSQL Server インスタンスは、トランザクションを実行したインスタンスであり、このインスタンスによってトランザクションが制御されます。The instance of SQL ServerSQL Server making the remote stored procedure call is the transaction originator and controls the completion of the transaction. この接続に対して引き続き COMMIT TRANSACTION または ROLLBACK TRANSACTION ステートメントを実行すると、制御側のインスタンスは MS DTC 対して、コンピューター間の分散トランザクションの完了を管理することを要求します。When a subsequent COMMIT TRANSACTION or ROLLBACK TRANSACTION statement is issued for the connection, the controlling instance requests that MS DTC manage the completion of the distributed transaction across the computers involved.

Transact-SQLTransact-SQL分散トランザクションが開始された後は、リンク サーバーとして定義されている他の SQL ServerSQL Server インスタンスに対し、リモート ストアド プロシージャを呼び出すことができます。After a Transact-SQLTransact-SQL distributed transaction has been started, remote stored procedure calls can be made to other instances of SQL ServerSQL Server that have been defined as linked servers. リンク サーバーはすべて Transact-SQLTransact-SQL 分散トランザクション、および MS DTC により、各リンク サーバーに対して、トランザクションが完了したことです。The linked servers are all enlisted in the Transact-SQLTransact-SQL distributed transaction, and MS DTC ensures that the transaction is completed against each linked server.

このオプションが FALSE (または OFF) に設定されている場合、ローカル トランザクションは、リンク サーバー上のリモート プロシージャ コールの呼び出し中に分散トランザクションに昇格されません。If this option is set to FALSE (or OFF), a local transaction will not be promoted to a distributed transaction while calling a remote procedure call on a linked server.

サーバー間のプロシージャ コールを行う前にトランザクションが既に分散トランザクションである場合、このオプションに効力はありません。If before making a server-to-server procedure call, the transaction is already a distributed transaction, then this option does not have effect. リンク サーバーに対するプロシージャ コールは、同じ分散トランザクションで実行されます。The procedure call against linked server will run under the same distributed transaction.

サーバー間のプロシージャ コールを行う前場合に、の接続でアクティブなトランザクションがないし、このオプションに影響がありません。If before making a server-to-server procedure call, there is no transaction active in the connection, then this option does not have effect. プロシージャは、アクティブなトランザクションなしのリンク サーバーに対してし実行します。The procedure then runs against linked server without active transactions.

このオプションの既定値は TRUE (ON) です。The default value for this option is TRUE (or ON).

[ @optvalue = ] 'option_value' 指定するかどうか、 option_nameを有効にする (TRUEまたは) か無効 (FALSEまたはオフ).[ @optvalue = ] 'option_value' Specifies whether or not the option_name should be enabled (TRUE or on) or disabled (FALSE or off). option_valuevarchar ( 10 ) 、既定値はありません。option_value is varchar( 10 ), with no default.

option_valueには、connect timeout および query timeout オプションの場合、負でない整数を指定できます。option_value may be a nonnegative integer for the connect timeout and query timeout options. collation name オプションの場合、option_value には照合順序名または NULL を指定できます。For the collation name option, option_value may be a collation name or NULL.

リターン コードの値Return Code Values

0 (成功) または 1 (失敗)0 (success) or 1 (failure)

コメントRemarks

collation compatible オプションが TRUE に設定されている場合、collation name は自動的に NULL に設定されます。If the collation compatible option is set to TRUE, collation name automatically will be set to NULL. collation name が NULL 以外の値に設定されている場合、collation compatible は自動的に FALSE に設定されます。If collation name is set to a nonnull value, collation compatible automatically will be set to FALSE.

アクセス許可Permissions

サーバーに対する ALTER ANY LINKED SERVER 権限が必要です。Requires ALTER ANY LINKED SERVER permission on the server.

使用例Examples

次の例では、SQL ServerSQL Server の別のインスタンスに対応するリンク サーバー SEATTLE3 を、SQL ServerSQL Server のローカル インスタンスと互換性のある照合順序になるよう構成します。The following example configures a linked server corresponding to another instance of SQL ServerSQL Server, SEATTLE3, to be collation compatible with the local instance of SQL ServerSQL Server.

USE master;  
EXEC sp_serveroption 'SEATTLE3', 'collation compatible', 'true';  

関連項目See Also

分散クエリ ストアド プロシージャ(TRANSACT-SQL) Distributed Queries Stored Procedures (Transact-SQL)
sp_adddistpublisher (TRANSACT-SQL) sp_adddistpublisher (Transact-SQL)
sp_addlinkedserver (Transact-SQL) sp_addlinkedserver (Transact-SQL)
sp_dropdistpublisher (TRANSACT-SQL) sp_dropdistpublisher (Transact-SQL)
sp_helpserver (Transact-SQL) sp_helpserver (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)System Stored Procedures (Transact-SQL)