SET ANSI_DEFAULTS (Transact-SQL)

Aplica-se a: SQL Server (todas as versões com suporte) Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System)

Controla um grupo de configurações do SqL Server que coletivamente especificam algum comportamento padrão ISO.

Topic link iconConvenções de sintaxe do Transact-SQL

Sintaxe

Sintaxe para SQL Server e Pool de SQL sem servidor no Azure Synapse Analytics

SET ANSI_DEFAULTS { ON | OFF }

Sintaxe para Azure Synapse Analytics e PDW (Analytics Platform System)

SET ANSI_DEFAULTS ON

Observação

Para ver a sintaxe do Transact-SQL para o SQL Server 2014 e versões anteriores, confira a Documentação das versões anteriores.

Comentários

ANSI_DEFAULTS é uma configuração do servidor que pode habilitar o comportamento para todas as conexões de cliente. Normalmente, o cliente solicita a configuração no momento da inicialização da sessão ou da conexão. Os usuários não devem modificar a configuração de servidor.
Para alterar o comportamento do cliente, os usuários devem usar métodos específicos do cliente, como SQL_COPT_SS_PRESERVE_CURSORS. Para obter mais informações, veja SQLSetConnectAttr.

Quando ativada (ON), esta opção habilita as seguintes configurações 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

 

Juntas, essas opções SET padrão ISO definem o ambiente de processamento de consulta para a duração da sessão de trabalho do usuário, um disparador em execução ou um procedimento armazenado. Entretanto, essas opções SET não incluem todas as opções exigidas para estar de acordo com padrão ISO.

Ao trabalhar com índices em colunas computadas e exibições indexadas, quatro desses padrões (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS e QUOTED_IDENTIFIER) devem ser configurados como ON. Esses padrões estão entre as sete opções SET que devem ser atribuídas aos valores necessários para criar e alterar índices em colunas computadas e exibições indexadas. As outras opções SET são ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON) e NUMERIC_ROUNDABORT (OFF). Para obter mais informações sobre as configurações da opção SET necessárias com exibições indexadas e índices em colunas computadas, confira Considerações sobre o uso das instruções SET.

O driver ODBC do SQL Server Native Client e o Provedor OLE DB do SQL Server Native Client para SQL Server definem ANSI_DEFAULTS automaticamente como ON durante a conexão. O driver e Provedor definem CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS como OFF. As configurações OFF para CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS podem ser definidas nas fontes de dados ODBC, nos atributos de conexão ODBC ou nas propriedades de conexão do OLE DB definidos no aplicativo antes da conexão com o SQL Server. O padrão para ANSI_DEFAULTS é OFF para conexões de aplicativos DB-Library.

Quando SET ANSI_DEFAULTS é gerado, QUOTED_IDENTIFIER é definido no momento da análise e as seguintes opções são definidas em tempo de execução:

SET ANSI_NULLS

SET ANSI_WARNINGS

SET ANSI_NULL_DFLT_ON

SET CURSOR_CLOSE_ON_COMMIT

SET ANSI_PADDING

SET IMPLICIT_TRANSACTIONS

Permissões

Requer associação à função pública .

Exemplos

O exemplo a seguir define ANSI_DEFAULTS como ON e usa a instrução DBCC USEROPTIONS para exibir as configurações que são afetadas.

-- SET ANSI_DEFAULTS ON.  
SET ANSI_DEFAULTS ON;  
GO  

-- Display the current settings.  
DBCC USEROPTIONS;  
GO 

-- SET ANSI_DEFAULTS OFF.  
SET ANSI_DEFAULTS OFF;  
GO  

Consulte Também

DBCC USEROPTIONS (Transact-SQL)
Instruções SET (Transact-SQL)
SET ANSI_NULL_DFLT_ON (Transact-SQL)
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)
SET IMPLICIT_TRANSACTIONS (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)