SET ANSI_DEFAULTS (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Controla un grupo de valores de SQL Server que conjuntamente especifican parte del comportamiento del estándar ISO.

Convenciones de sintaxis de Transact-SQL

Sintaxis

Sintaxis de SQL Server y un grupo de SQL sin servidor en Azure Synapse Analytics, Microsoft Fabric

SET ANSI_DEFAULTS { ON | OFF }

Sintaxis para Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

SET ANSI_DEFAULTS ON

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Comentarios

ANSI_DEFAULTS es una configuración del lado servidor que puede habilitar el comportamiento de todas las conexiones de cliente. Normalmente, el cliente solicita la configuración durante la conexión o la inicialización de la sesión. Los usuarios no deben modificar la configuración del servidor.
Para cambiar el comportamiento del cliente, los usuarios deben utilizar métodos específicos del cliente como SQL_COPT_SS_PRESERVE_CURSORS. Para más información, vea SQLSetConnectAttr.

Cuando se habilita (ON), esta opción habilita las opciones siguientes de 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, estas opciones SET del estándar ISO definen el entorno de procesamiento de consultas durante la sesión de trabajo del usuario, la ejecución de un desencadenador o un procedimiento almacenado. Sin embargo, estas opciones SET no son todas las necesarias para cumplir el estándar ISO.

Al tratar con índices en columnas calculadas, índices filtrados y vistas indizadas, cuatro de estos valores predeterminados (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGSy QUOTED_IDENTIFIER) deben establecerse en ON. Estos valores predeterminados se encuentran entre siete opciones SET a las que se deben asignar los valores necesarios al crear y cambiar índices en columnas calculadas, índices filtrados y vistas indizadas. Las demás opciones SET son ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON) y NUMERIC_ROUNDABORT (OFF). Para obtener más información sobre la configuración de la opción SET necesaria con vistas indizadas, índices filtrados e índices en columnas calculadas, vea Consideraciones al usar las instrucciones SET.

El controlador ODBC de SQL Server Native Client y el proveedor OLE DB de SQL Server Native Client para SQL Server establecen automáticamente ANSI_DEFAULTS en ON al conectarse. El controlador y el proveedor establecen a continuación CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS en OFF. La opción OFF para CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS se puede configurar en los orígenes de datos ODBC, en los atributos de conexión ODBC o en las propiedades de conexión OLE DB establecidas en la aplicación antes de conectarse a SQL Server. El valor predeterminado de ANSI_DEFAULTS es OFF para las conexiones desde aplicaciones DB-Library.

Cuando se ejecuta SET ANSI_DEFAULTS, QUOTED_IDENTIFIER se establece en tiempo de análisis y se establecen las opciones siguientes en tiempo de ejecución:

SET ANSI_NULLS

SET ANSI_WARNINGS

SET ANSI_NULL_DFLT_ON

SET CURSOR_CLOSE_ON_COMMIT

SET ANSI_PADDING

SET IMPLICIT_TRANSACTIONS

Permisos

Debe pertenecer al rol public .

Ejemplos

En el ejemplo siguiente se establece ANSI_DEFAULTS en ON y se usa la instrucción DBCC USEROPTIONS para mostrar la configuración afectada.

-- 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 también

DBCC USEROPTIONS (Transact-SQL)
Instrucciones 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)