SET ANSI_DEFAULTS (Transact-SQL)
Se aplica a: punto de conexión de SQL Server Azure SQL Instancia administrada
el punto de conexión de SQL Analytics Analytics Platform System (PDW) de SQL Analytics system (PDW)
de SQL Server
en Microsoft Fabric
Warehouse 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_WARNINGS
y 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)