SET ANSI_DEFAULTS (Transact-SQL)

Aplica-se a:SQL ServerAzureSQL Managed InstanceAzureSynapse AnalyticsAnalyticsPlatform System (PDW)SQL analytics endpoint in Microsoft FabricWarehousein Microsoft Fabric

Controla um conjunto de definições do SQL Server que especificam coletivamente algum comportamento padrão ISO.

Transact-SQL convenções de sintaxe

Syntax

Syntax for SQL Server, server less SQL pool in Azure Synapse Analytics, Microsoft Fabric

SET ANSI_DEFAULTS { ON | OFF }

Syntax for Azure Synapse Analytics and Analytics Platform System (PDW)

SET ANSI_DEFAULTS ON

Remarks

ANSI_DEFAULTS é uma configuração do lado do servidor que pode ativar o comportamento para todas as ligações do cliente. O cliente normalmente solicita a definição na inicialização da ligação ou da sessão. Os utilizadores não devem modificar as definições do servidor.
Para alterar o comportamento do cliente, os utilizadores devem usar métodos específicos do cliente, como SQL_COPT_SS_PRESERVE_CURSORS. Para mais informações, consulte SQLSetConnectAttr.

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

 

Em conjunto, estas opções da norma SET ISO definem o ambiente de processamento de consultas durante a duração da sessão de trabalho do utilizador, um gatilho em execução ou um procedimento armazenado. No entanto, estas SET opções não incluem todas as opções necessárias para cumprir a norma ISO.

Ao lidar com índices em colunas calculadas, índices filtrados e vistas indexadas, quatro destes valores predefinidos (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, e QUOTED_IDENTIFIER) devem ser definidos como ON. Estes valores predefinidos estão entre sete SET opções que devem ser atribuídos aos valores necessários quando cria e altera índices em colunas calculadas, índices filtrados e vistas indexadas. As outras SET opções são ARITHABORT (LIGADO), CONCAT_NULL_YIELDS_NULL (LIGADO) e NUMERIC_ROUNDABORT (DESLIGADO). Para mais informações sobre as definições de opções necessárias SET com vistas indexadas, índices filtrados e índices em colunas computadas, consulte Considerações ao Usar as SET Sentenças.

O driver ODBC do SQL Server Native Client e o provedor OLE DB do SQL Server Native Client para SQL Server são ANSI_DEFAULTS definidos automaticamente como ON ao se conectar. O condutor e o fornecedor então definem CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS para DESLIGADO. As definições OFF para CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS podem ser configuradas em fontes de dados ODBC, em atributos de ligação ODBC ou nas propriedades de ligação OLE DB definidas na aplicação antes de se ligar ao SQL Server. O padrão para ANSI_DEFAULTS é DESLIGADO para ligações de DB-Library aplicações.

Quando SETSET ANSI_DEFAULTS é emitido, QUOTED_IDENTIFIER é definido em tempo de análise sintática, 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

Permissions

Requer adesão à função pública de .

Examples

O exemplo seguinte define ANSI_DEFAULTS para ON e usa a DBCC USEROPTIONS instrução para mostrar as definições 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  

Ver também

DBCC USEROPTIONS (Transact-SQL)
SET Afirmações (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)