Compartir a través de


@@OPTIONS (Transact-SQL)

Devuelve información acerca de las opciones SET actuales.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

@@OPTIONS

Tipos de valor devuelto

integer

Comentarios

Las opciones pueden provenir de la utilización del comando SET o del valor sp_configure user options. Los valores de sesión configurados con el comando SET sustituyen las opciones de sp_configure. Hay varias herramientas, como Management Studio, que configuran opciones automáticamente. Cada usuario tiene una función @@OPTIONS que representa la configuración.

Con la instrucción SET puede cambiar el idioma y las opciones de procesamiento de consultas para una sesión de usuario específica. @@OPTIONS solo puede detectar las opciones establecidas en ON o en OFF.

La función @@OPTIONS devuelve un mapa de bits de las opciones, convertido a un entero en base 10 (decimal). La configuración de bits está almacenada en las ubicaciones descritas en el tema Establecer la opción de configuración del servidor Opciones de usuario.

Para descodificar el valor @@OPTIONS, convierta el entero devuelto por @@OPTIONS en binario y busque los valores en la tabla anterior. Por ejemplo, si SELECT @@OPTIONS; devuelve el valor 5496, use la calculadora programadora de Windows (calc.exe) para convertir 5496 decimal a binario. El resultado es 1010101111000. Los caracteres situados más a la izquierda (binarios 1, 2 y 4) son 0, e indican que IMPLICIT_TRANSACTIONS y CURSOR_CLOSE_ON_COMMIT están desactivados. El siguiente elemento (ANSI_WARNINGS en la posición 1000) está activado. Siga trabajando en el mapa de bits y baje por la lista de opciones. Cuando las opciones situadas más a la derecha son 0 están truncadas por la conversión de tipo. El mapa de bits 1010101111000 en realidad es 001010101111000 para representar las 15 opciones.

Ejemplos

A.Demostración de cómo los cambios afectan al comportamiento

En el siguiente ejemplo se muestra la diferencia en el comportamiento de concatenación con dos configuraciones distintas de la opción CONCAT_NULL_YIELDS_NULL.

SELECT @@OPTIONS AS OriginalOptionsValue;
SET CONCAT_NULL_YIELDS_NULL OFF;
SELECT 'abc' + NULL AS ResultWhen_OFF, @@OPTIONS AS OptionsValueWhen_OFF;

SET CONCAT_NULL_YIELDS_NULL ON;
SELECT 'abc' + NULL AS ResultWhen_ON, @@OPTIONS AS OptionsValueWhen_ON;

B.Prueba de una configuración NOCOUNT de cliente

En el siguiente ejemplo se especifica NOCOUNT ON y, a continuación, se prueba el valor de @@OPTIONS. La opción NOCOUNT ON impide que se envíe al cliente que hace la solicitud el mensaje sobre el número de filas afectadas por cada instrucción de una sesión. El valor de @@OPTIONS se establece en 512 (0x0200). Esto representa la opción NOCOUNT. En este ejemplo se prueba si la opción NOCOUNT está habilitada en el cliente. Por ejemplo, puede ayudar a hacer un seguimiento de las diferencias de rendimiento de un cliente.

SET NOCOUNT ON
IF @@OPTIONS & 512 > 0 
RAISERROR ('Current user has SET NOCOUNT turned on.', 1, 1)

Vea también

Referencia

Funciones de configuración (Transact-SQL)

sp_configure (Transact-SQL)

Conceptos

Establecer la opción de configuración del servidor Opciones de usuario