sp_serveroption (Transact-SQL)

Se aplica a: SQL Server (todas las versiones compatibles)

Establece las opciones de servidor de los servidores remotos y vinculados.

Icono de vínculo de temaConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @server = ] 'server' Es el nombre del servidor para el que se va a establecer la opción. server es de tipo sysnamey no tiene ningún valor predeterminado.

[ @optname = ] 'option_name' Es la opción que se va a establecer para el servidor especificado. option_name es varchar(35), sin ningún valor predeterminado. option_name puede ser cualquiera de los valores siguientes.

Valor Descripción
compatible con la intercalación Afecta a la ejecución de consultas distribuidas en los servidores vinculados. Si esta opción se establece en true, SQL Server supone que todos los caracteres del servidor vinculado son compatibles con el servidor local, con respecto al juego de caracteres y la secuencia de intercalación (o criterio de ordenación). Esto permite que SQL Server envíe comparaciones en columnas de caracteres al proveedor. Si no se establece esta opción, SQL Server siempre evalúa las comparaciones en las columnas de caracteres localmente.

Esta opción solo se debe establecer si se tiene la certeza de que el origen de datos correspondiente al servidor vinculado tiene el mismo juego de caracteres y criterio de ordenación que el servidor local.
nombre de intercalación Especifica el nombre de la intercalación utilizada por el origen de datos remoto si el uso de intercalación remota es true y el origen de datos no es un origen de datos SQL Server. El nombre debe ser una de las intercalaciones admitidas por SQL Server.

Use esta opción al acceder a un origen de datos OLE DB distinto de SQL Server, pero cuya intercalación coincide con una de las intercalaciones de SQL Server.

El servidor vinculado debe permitir el uso de una única intercalación para todas las columnas de ese servidor. No establezca esta opción si el servidor vinculado admite varias intercalaciones dentro de un único origen de datos, o si la intercalación del servidor vinculado no se puede determinar para que coincida con una de las intercalaciones de SQL Server.
tiempo de espera de conexión Valor de tiempo de espera en segundos para conectarse a un servidor vinculado.

Si es 0, use el sp_configure valor predeterminado.
acceso a datos Habilita y deshabilita un servidor vinculado para el acceso a consultas distribuidas. Solo se puede usar para las entradas sys.server agregadas a través de sp_addlinkedserver.
dist Distribuidor.
lazy schema validation Determina si se comprobará el esquema de las tablas remotas.

Si es true, omita la comprobación de esquemas de las tablas remotas al principio de la consulta.
pub Editor.
tiempo de espera de consulta Valor de tiempo de espera para las consultas que se realizan en un servidor vinculado.

Si es 0, use el sp_configure valor predeterminado.
Rpc Habilita RPC desde el servidor dado.
rpc out Habilita RPC al servidor dado.
sub Suscriptor.
sistema Solamente se identifica con fines informativos. No se admite. La compatibilidad con versiones posteriores no está garantizada.
usar intercalación remota Determina si se utilizará la intercalación de una columna remota o de un servidor local.

Si es true, la intercalación de columnas remotas se usa para SQL Server orígenes de datos y la intercalación especificada en el nombre de intercalación se usa para orígenes de datos que no son de SQL Server. Este es el valor predeterminado.

Si es false, las consultas distribuidas siempre usarán la intercalación predeterminada del servidor local, mientras que el nombre de intercalación y la intercalación de columnas remotas se omiten.
remote proc transaction promotion Use esta opción para proteger las acciones de un procedimiento de servidor a servidor a través de una transacción del Coordinador de transacciones distribuidas de Microsoft (MS DTC). Cuando esta opción es TRUE (u ON) al llamar a un procedimiento almacenado remoto se inicia una transacción distribuida y se da de alta la transacción en MS DTC. La instancia de SQL Server que efectúa la llamada al procedimiento almacenado remoto es el originador de la transacción y controla su realización. Posteriormente, cuando se ejecuta para la conexión una instrucción COMMIT TRANSACTION o ROLLBACK TRANSACTION, la instancia que controla la transacción solicita a MS DTC que administre la realización de la transacción distribuida entre los servidores participantes.

Una vez iniciada una transacción distribuida de Transact-SQL, se pueden realizar llamadas a procedimientos almacenados remotos a otras instancias de SQL Server que se han definido como servidores vinculados. Todos los servidores vinculados están inscritos en la transacción distribuida de Transact-SQL y MS DTC garantiza que la transacción se complete en cada servidor vinculado.

Si esta opción está establecida en FALSE (u OFF), una transacción local no se promoverá a una transacción distribuida mientras se llame a una llamada a procedimiento remoto en un servidor vinculado.

Si antes de realizar una llamada a procedimiento entre servidores, la transacción ya es una transacción distribuida, esta opción no tiene efecto alguno. La llamada a procedimiento en un servidor vinculado se ejecutará en la misma transacción distribuida.

Si antes de realizar una llamada a procedimiento entre servidores, no existe ninguna transacción activa en la conexión, esta opción no tiene efecto alguno. A continuación, el procedimiento se ejecuta en el servidor vinculado sin transacciones activas.

El valor predeterminado para esta opción es TRUE (u ON).

[ @optvalue = ] 'option_value' Especifica si el option_name debe estar habilitado (TRUE o activado) o deshabilitado (FALSE o desactivado). option_value es varchar(10), sin ningún valor predeterminado.

option_value puede ser un entero no negativo para las opciones de tiempo de espera de conexión y tiempo de espera de consulta . Para la opción de nombre de intercalación , option_value puede ser un nombre de intercalación o NULL.

Valores de código de retorno

0 (correcto) o 1 (error)

Observaciones

Si la opción compatible de intercalación se establece en TRUE, el nombre de intercalación se establecerá automáticamente en NULL. Si el nombre de intercalación se establece en un valor distinto de null, la intercalación compatible automáticamente se establecerá en FALSE.

Permisos

Requiere el permiso ALTER ANY LINKED SERVER en el servidor.

Ejemplos

En el ejemplo siguiente se configura un servidor vinculado correspondiente a otra instancia de SQL Server, SEATTLE3, para que sea compatible con la instancia local de SQL Server.

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

Consulte también

Procedimientos almacenados de consultas distribuidas (Transact-SQL)
sp_adddistpublisher (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
sp_dropdistpublisher (Transact-SQL)
sp_helpserver (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)