TechNet
Exportar (0) Imprimir
Expandir todo

SET ANSI_DEFAULTS (Transact-SQL)

 

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

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

Se aplica a: SQL Server (SQL Server 2008 a través de la versión actual).

Topic link icon Convenciones de sintaxis de Transact-SQL

  
SET ANSI_DEFAULTS { ON | OFF }  

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_NULLSSET CURSOR_CLOSE_ON_COMMIT
SET ANSI_NULL_DFLT_ONSET IMPLICIT_TRANSACTIONS
SET ANSI_PADDINGSET 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_NULLSSET ANSI_WARNINGS
SET ANSI_NULL_DFLT_ONSET CURSOR_CLOSE_ON_COMMIT
SET ANSI_PADDINGSET IMPLICIT_TRANSACTIONS

Debe pertenecer al rol public.

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  

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)

Adiciones de comunidad

Mostrar:
© 2016 Microsoft