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 FabricWarehouse 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

Comentarios

ANSI_DEFAULTS es una configuración del lado del servidor que puede activar el comportamiento para todas las conexiones del 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

 

En conjunto, estas opciones estándar SET ISO definen el entorno de procesamiento de consultas durante la duración de la sesión de trabajo del usuario, un disparador en ejecución o un procedimiento almacenado. Sin embargo, estas SET opciones no incluyen todas las opciones necesarias para cumplir con la norma 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 están entre las siete SET opciones que deben asignarse los valores requeridos cuando creas y cambias índices en columnas calculadas, índices filtrados y vistas indexadas. Las otras SET opciones son ARITHABORT (ENCENDIDO), CONCAT_NULL_YIELDS_NULL (ENCENDIDO) y NUMERIC_ROUNDABORT (APAGADO). Para más información sobre la configuración de opciones requerida SET con vistas indexadas, índices filtrados e índices en columnas calculadas, consulte Consideraciones al usar las SET sentencias.

El controlador ODBC de SQL Server Native Client y el proveedor OLE DB de SQL Server Native Client para SQL Server se establecen ANSI_DEFAULTS automáticamente en ON al conectarse. El conductor y el proveedor entonces ponen CURSOR_CLOSE_ON_COMMIT y 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 SETSET ANSI_DEFAULTS se emite, QUOTED_IDENTIFIER se establece en tiempo de análisis y las siguientes opciones se establecen 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

El siguiente ejemplo se pone ANSI_DEFAULTS en ON y utiliza la DBCC USEROPTIONS sentencia para mostrar los ajustes afectados.

-- 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

OPCIONES DE USUARIO DE DCC (Transact-SQL)
SET Instrucciones (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)