Compartilhar via


@@OPTIONS (Transact-SQL)

Retorna informações sobre as opções SET atuais.

Ícone de vínculo de tópico Convenções de sintaxe Transact-SQL

Sintaxe

@@OPTIONS

Tipos de retorno

integer

Comentários

As opções podem vir do uso do comando SET ou do valor sp_configure user options. Os valores da sessão configurados com o comando SET substituem as opções sp_configure. Muitas ferramentas (como o Management Studio) configuram automaticamente as opções definidas. Cada usuário tem uma função @@OPTIONS que representa a configuração.

Você pode alterar as opções de idioma e de processamento de consulta para um usuário específico usando a instrução SET. @@OPTIONS pode detectar somente as opções que estão definidas como ON ou OFF.

A função @@OPTIONS retorna um bitmap das opções, convertido em números inteiros de base 10 (decimal). As definições de bits são armazenadas nos locais descritos no tópico Configurar as opções de configuração de servidor user connections.

Para decodificar o valor @@OPTIONS, converta o número inteiro retornado pela função @@OPTIONS para binário e procure os valores na tabela acima. Por exemplo, se SELECT @@OPTIONS; retornar o valor 5496, use a calculadora de programador do Windows (calc.exe) para converter o valor decimal 5496 para binário. O resultado é 1010101111000. Os caracteres mais à esquerda (binários 1, 2 e 4) são 0, indicando que IMPLICIT_TRANSACTIONS e CURSOR_CLOSE_ON_COMMIT estão desativados. O próximo item (ANSI_WARNINGS na posição 1000) está ativado. Continue a trabalhar direto no bitmap e para baixo na lista de opções. Quando as opções mais à direita forem 0, elas são truncadas pela conversão de tipo. O bitmap 1010101111000 é na realidade 001010101111000 para representar todas as 15 opções.

Exemplos

A.Demonstração de como as mudanças afetam o comportamento

O exemplo seguinte demonstra a diferença no comportamento de concatenação com duas configurações diferentes da opção 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.Testando uma configuração NOCOUNT cliente

O exemplo a seguir define NOCOUNT ON e testa o valor de @@OPTIONS. A opção NOCOUNT ON impede que a mensagem sobre o número de linhas afetadas seja enviada de volta ao cliente solicitante para cada instrução em uma sessão. O valor de @@OPTIONS é definido como 512 (0x0200). Isto representa a opção NOCOUNT. Este exemplo testa se a opção NOCOUNT está habilitada no cliente. Por exemplo, isso pode ajudar a controlar diferenças de desempenho em um cliente.

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

Consulte também

Referência

Funções de configuração (Transact-SQL)

sp_configure (Transact-SQL)

Conceitos

Configurar as opções de configuração de servidor user connections