SET ANSI_DEFAULTS (Transact-SQL)

Aplica-se a:SQL ServerInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de análise do SQL no Microsoft FabricWarehouse no Microsoft Fabric

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

Convenções de sintaxe de Transact-SQL

Sintaxe

Sintaxe para SQL Server, Pool de SQL sem servidor no Azure Synapse Analytics, Microsoft Fabric

SET ANSI_DEFAULTS { ON | OFF }

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

SET ANSI_DEFAULTS ON

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) 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 lidar com índices em colunas computadas, índices filtrados e exibições indexadas, quatro desses padrões (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGSe QUOTED_IDENTIFIER) devem ser definidos como ON. Esses padrões estão entre as sete opções SET que devem receber os valores necessários quando você estiver criando e alterando índices em colunas computadas, índices filtrados 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 de opção SET necessárias com exibições indexadas, índices filtrados e índices em colunas computadas, consulte Considerações ao usar as 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)