Opções SET

A tabela a seguir fornece uma lista alfabética de opções SET e do banco de dados correspondente, além da opção do servidor que o Microsoft SQL Server oferece suporte.

Opção SET

Opção de banco de dados

Opção de servidor

Configuração padrão

SET ANSI_DEFAULTS (Transact-SQL)

Nenhuma

Nenhuma

Não aplicável

SET ANSI_NULL_DFLT_OFF (Transact-SQL)

SET ANSI_NULL_DFLT_ON (Transact-SQL)

ANSI_NULL_DEFAULT

user options atribui um padrão

OFF

SET ANSI_NULLS (Transact-SQL)

ANSI_NULLS

user options atribui um padrão

OFF

SET ANSI_PADDING (Transact-SQL)

ANSI_PADDING

user options atribui um padrão

ON

SET ANSI_WARNINGS (Transact-SQL)

ANSI_WARNINGS

user options atribui um padrão

OFF

SET ARITHABORT (Transact-SQL)

ARITHABORT

user options atribui um padrão

OFF

SET ARITHIGNORE (Transact-SQL)

Nenhuma

user options atribui um padrão

OFF

SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)

CONCAT_NULL_YIELDS_NULL

Nenhuma

OFF

SET CONTEXT_INFO (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)

CURSOR_CLOSE ON_COMMIT

user options atribui um padrão

OFF

SET DATEFIRST (Transact-SQL)

Nenhuma

Nenhuma

7

SET DATEFORMAT (Transact-SQL)

Nenhuma

Nenhuma

mdy

SET DEADLOCK_PRIORITY (Transact-SQL)

Nenhuma

Nenhuma

NORMAL

SET FIPS_FLAGGER (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET FMTONLY (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET FORCEPLAN (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET IDENTITY_INSERT (Transact-SQL)

Nenhuma

 

OFF

SET IMPLICIT_TRANSACTIONS (Transact-SQL)

Nenhuma

user options atribui um padrão

OFF

SET LANGUAGE (Transact-SQL)

Nenhuma

Nenhuma

us_english

SET LOCK_TIMEOUT (Transact-SQL)

Nenhuma

Nenhuma

Não há limite

SET NOCOUNT (Transact-SQL)

Nenhuma

user options atribui um padrão

OFF

SET NOEXEC (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET NUMERIC_ROUNDABORT (Transact-SQL)

NUMERIC_ROUNDABORT

Nenhuma

OFF

SET OFFSETS (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET PARSEONLY (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET QUERY_GOVERNOR_COST_LIMIT (Transact-SQL)

Nenhuma

query governor cost limit

OFF

SET QUOTED_IDENTIFIER (Transact-SQL)

identificador citado

user options atribui um padrão

OFF

SET REMOTE_PROC_TRANSACTIONS (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET ROWCOUNT (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET SHOWPLAN_ALL (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET SHOWPLAN_TEXT (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET SHOWPLAN_XML (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET STATISTICS IO (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET STATISTICS PROFILE (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET STATISTICS TIME (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET STATISTICS XML (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET TEXTSIZE (Transact-SQL)

Nenhuma

Nenhuma

OFF

SET TRANSACTION ISOLATION LEVEL (Transact-SQL)

Nenhuma

Nenhuma

n/d

SET XACT_ABORT (Transact-SQL)

Nenhuma

Nenhuma

OFF

Opções SET de Tempo de Análise e Tempo de Execução

O ponto ao qual uma opção SET entra em vigor depende se a opção é uma opção de tempo de análise ou uma opção de tempo de execução. As opções de tempo de análise entram em vigor durante a análise, já que as opções são encontradas em texto, sem levar em conta o controle das instruções de fluxo. As opções de tempo de execução entram em vigor durante a execução do código no qual eles são especificados. Se a execução falhar antes que a instrução SET seja executada, a opção não é definida. Se a execução falhar antes que a instrução SET seja executada, a opção não é definida.

As opções QUOTED_IDENTIFIER, PARSEONLY, OFFSETS, e FIPS_FLAGGER são opções de tempo de análise. Todas as outras opções SET são opções de tempo de execução.

As instruções SET QUOTED_IDENTIFIER e SET ANSI_NULLS que ocorram dentro de um lote ou de um procedimento armazenado não afetam esse lote ou procedimento armazenado. Em vez disso, as configurações usadas para as instruções dentro do lote ou procedimento armazenado são as configurações vigentes quando o lote ou procedimento armazenado é criado.

Durações das opções SET

Esta seção descreve a duração das opções SET.

  • As opções SET definidas por um usuário em um script são aplicáveis até que a sessão do usuário com o servidor seja terminada.

  • As opções SET definidas em um procedimento armazenado ou gatilho são aplicáveis até que eles sejam reiniciados dentro daquele procedimento armazenado ou gatilho, ou até que o controle retorne ao código que invocou o procedimento armazenado ou gatilho.

  • Uma conexão habilitada por MARS mantém uma lista de valores padrão de opção SET. Quando um lote executa sob essa conexão, os valores padrão de opção SET são copiados para o ambiente da solicitação. Depois que o lote terminar, o ambiente é copiado de volta para o padrão da sessão. Dessa forma, lotes múltiplos que executam ao mesmo tempo sob a mesma conexão funcionam sob um ambiente isolado de opções SET.

    ObservaçãoObservação

    Sob conexões habilitadas por MARS, se lotes múltiplos executarem ao mesmo tempo e modificarem o ambiente de execução de lote, o ambiente padrão resultante para a conexão dependerá do último lote que tenha completado a execução.

  • A menos que explicitamente reinicializado, os valores de opção SET de todos os códigos de alto nível aplicam dentro de um procedimento armazenado ou gatilho.

  • As opções SET definidas por um usuário dentro de um lote de SQL dinâmico se aplicam apenas para a duração daquele lote.

  • A menos que explicitamente ou implicitamente reinicializadas, as opções SET definidas para uma conexão se aplicam depois de conectarem a um banco de dados diferente.

    ObservaçãoObservação

    Uma consideração adicional é quando um usuário se conecta a um banco de dados e alguma opção pode ser definida automaticamente como ON, com base nos valores especificados pelo uso anterior das user options, opção de servidor ou os valores que se aplicam a todas as conexões ODBC e OLE DB.

Atalho da opção SET

O Transact-SQL fornece a instrução SET ANSI_DEFAULTS como um atalho para definir opções padrão ISO:

  • SET ANSI_NULLS

  • SET CURSOR_CLOSE_ON_COMMIT

  • SET ANSI_NULL_DFLT_ON

  • SET IMPLICIT_TRANSACTIONS

  • SET ANSI_PADDING

  • SET QUOTED_IDENTIFIER

  • SET ANSI_WARNINGS

O atalho zera o valor para estas opções. Qualquer opção individual que seja definida após o atalho anulará o valor correspondente definido pelo atalho.

ObservaçãoObservação

SET ANSI_DEFAULTS não define todas as opções necessárias para obedecerem o padrão ISO.

Consulte também

Referência

Conceitos