SET ANSI_DEFAULTS (Transact-SQL)
Controla un grupo de valores de SQL Server que conjuntamente especifican parte del comportamiento del estándar ISO.
Convenciones de sintaxis de Transact-SQL (Transact-SQL)
Sintaxis
SET ANSI_DEFAULTS { ON | OFF }
Comentarios
SET ANSI_DEFAULTS es una configuración del servidor que el cliente no modifica. El cliente administra su propia configuración. De manera predeterminada, esta configuración es la opuesta a la configuración del servidor. Los usuarios no deben modificar la configuración del servidor. Para cambiar el comportamiento del cliente, los usuarios deben utilizar SQL_COPT_SS_PRESERVE_CURSORS. Para obtener 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.
Cuando se trabaja con índices en columnas calculadas y vistas indizadas, cuatro de estos valores predeterminados (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS y QUOTED_IDENTIFIER) deben ser ON. Estos valores predeterminados son siete opciones SET a las que se deben asignar los valores requeridos para crear y cambiar índices de columnas calculadas 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 acerca de las configuraciones de las opciones SET requeridas con vistas indizadas e índices en columnas calculadas, vea el apartado relativo a las consideraciones al utilizar las instrucciones SET en Instrucciones SET (Transact-SQL).
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 de SET CURSOR_CLOSE_ON_COMMIT y SET 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 que se establecen en la aplicación antes de conectarse a SQL Server. SET ANSI_DEFAULTS tiene como opción predeterminada OFF en las conexiones desde aplicaciones DB-Library.
Cuando se ejecuta SET ANSI_DEFAULTS, SET QUOTED_IDENTIFIER se establece en tiempo de análisis y las opciones siguientes 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
En el ejemplo siguiente se establece SET ANSI_DEFAULTS ON y se utiliza 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
Vea también
Referencia
DBCC USEROPTIONS (Transact-SQL)
Instrucciones SET (Transact-SQL)
SET ANSI_NULL_DFLT_ON (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)