SET ANSI_DEFAULTS (Transact-SQL)
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure Azure PDW (Sistema de Plataforma de Análise) do Azure Synapse Analytics Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse 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
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_WARNINGS
, e 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ê está 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)