Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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)