SET ANSI_DEFAULTS (Transact-SQL)SET ANSI_DEFAULTS (Transact-SQL)

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data WarehouseSe aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance síAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics síAlmacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data Warehouse

Controla un grupo de valores de SQL ServerSQL Server que conjuntamente especifican parte del comportamiento del estándar ISO.Controls a group of SQL ServerSQL Server settings that collectively specify some ISO standard behavior.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

Sintaxis para SQL ServerSQL Server y Grupo de SQL sin servidor en Azure Synapse Analyticsserverless SQL pool in Azure Synapse AnalyticsSyntax for SQL ServerSQL Server and Grupo de SQL sin servidor en Azure Synapse Analyticsserverless SQL pool in Azure Synapse Analytics

SET ANSI_DEFAULTS { ON | OFF }

Sintaxis para Azure Synapse AnalyticsAzure Synapse Analytics y Almacenamiento de datos paralelosParallel Data WarehouseSyntax for Azure Synapse AnalyticsAzure Synapse Analytics and Almacenamiento de datos paralelosParallel Data Warehouse

SET ANSI_DEFAULTS ON

Nota

Para ver la sintaxis de Transact-SQL para SQL Server 2014 y versiones anteriores, consulte Versiones anteriores de la documentación.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ObservacionesRemarks

ANSI_DEFAULTS es una configuración del lado servidor que puede habilitar el comportamiento de todas las conexiones de cliente.ANSI_DEFAULTS is a server-side setting which can enable the behavior for all client connections. Normalmente, el cliente solicita la configuración durante la conexión o la inicialización de la sesión.The client typically requests the setting on connection or session initialization. Los usuarios no deben modificar la configuración del servidor.Users should not modify the server setting.
Para cambiar el comportamiento del cliente, los usuarios deben utilizar métodos específicos del cliente como SQL_COPT_SS_PRESERVE_CURSORS.To change client the behavior, users should use the client specific methods like SQL_COPT_SS_PRESERVE_CURSORS. Para obtener más información, vea SQLSetConnectAttr.For more information, see SQLSetConnectAttr.

Cuando se habilita (ON), esta opción habilita las opciones siguientes de ISO:When enabled (ON), this option enables the following ISO settings:

SET ANSI_NULLSSET ANSI_NULLS

SET CURSOR_CLOSE_ON_COMMITSET CURSOR_CLOSE_ON_COMMIT

SET ANSI_NULL_DFLT_ONSET ANSI_NULL_DFLT_ON

SET IMPLICIT_TRANSACTIONSSET IMPLICIT_TRANSACTIONS

SET ANSI_PADDINGSET ANSI_PADDING

SET QUOTED_IDENTIFIERSET QUOTED_IDENTIFIER

SET ANSI_WARNINGSSET 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.Together, these ISO standard SET options define the query processing environment for the duration of the work session of the user, a running trigger, or a stored procedure. Sin embargo, estas opciones SET no son todas las necesarias para cumplir el estándar ISO.However, these SET options do not include all the options required to comply with the ISO standard.

Cuando se trabaja con índices en columnas calculadas y vistas indexadas, cuatro de estos valores predeterminados (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS y QUOTED_IDENTIFIER) se deben establecer en ON.When dealing with indexes on computed columns and indexed views, four of these defaults (ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, and QUOTED_IDENTIFIER) must be set to 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.These defaults are among seven SET options that must be assigned the required values when you are creating and changing indexes on computed columns and indexed views. Las demás opciones SET son ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON) y NUMERIC_ROUNDABORT (OFF).The other SET options are ARITHABORT (ON), CONCAT_NULL_YIELDS_NULL (ON), and NUMERIC_ROUNDABORT (OFF). Para más información sobre las configuraciones de las opciones SET requeridas con vistas indexadas e índices en columnas calculadas, vea Consideraciones al utilizar las instrucciones SET.For more information about the required SET option settings with indexed views and indexes on computed columns, see Considerations When You Use the SET Statements.

El controlador ODBC de SQL ServerSQL Server Native Client y el proveedor OLE DB de SQL ServerSQL Server Native Client para SQL ServerSQL Server establecen automáticamente ANSI_DEFAULTS en ON al conectarse.The SQL ServerSQL Server Native Client ODBC driver and SQL ServerSQL Server Native Client OLE DB Provider for SQL ServerSQL Server automatically set ANSI_DEFAULTS to ON when connecting. El controlador y el proveedor establecen a continuación CURSOR_CLOSE_ON_COMMIT e IMPLICIT_TRANSACTIONS en OFF.The driver and Provider then set CURSOR_CLOSE_ON_COMMIT and IMPLICIT_TRANSACTIONS to 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 ServerSQL Server.The OFF settings for CURSOR_CLOSE_ON_COMMIT and IMPLICIT_TRANSACTIONS can be configured in ODBC data sources, in ODBC connection attributes, or in OLE DB connection properties that are set in the application before connecting to SQL ServerSQL Server. El valor predeterminado de ANSI_DEFAULTS es OFF para las conexiones desde aplicaciones DB-Library.The default for ANSI_DEFAULTS is OFF for connections from DB-Library applications.

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:When SET ANSI_DEFAULTS is issued, QUOTED_IDENTIFIER is set at parse time, and the following options are set at execute time:

SET ANSI_NULLSSET ANSI_NULLS

SET ANSI_WARNINGSSET ANSI_WARNINGS

SET ANSI_NULL_DFLT_ONSET ANSI_NULL_DFLT_ON

SET CURSOR_CLOSE_ON_COMMITSET CURSOR_CLOSE_ON_COMMIT

SET ANSI_PADDINGSET ANSI_PADDING

SET IMPLICIT_TRANSACTIONSSET IMPLICIT_TRANSACTIONS

PermisosPermissions

Debe pertenecer al rol public .Requires membership in the public role.

EjemplosExamples

En el ejemplo siguiente se establece ANSI_DEFAULTS en ON y se usa la instrucción DBCC USEROPTIONS para mostrar la configuración afectada.The following example sets ANSI_DEFAULTS to ON and uses the DBCC USEROPTIONS statement to display the settings that are affected.

-- 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énSee Also

DBCC USEROPTIONS (Transact-SQL) DBCC USEROPTIONS (Transact-SQL)
Instrucciones SET (Transact-SQL) SET Statements (Transact-SQL)
SET ANSI_NULL_DFLT_ON (Transact-SQL) SET ANSI_NULL_DFLT_ON (Transact-SQL)
SET ANSI_NULLS (Transact-SQL) SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL) SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL) SET ANSI_WARNINGS (Transact-SQL)
SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL) SET CURSOR_CLOSE_ON_COMMIT (Transact-SQL)
SET IMPLICIT_TRANSACTIONS (Transact-SQL) SET IMPLICIT_TRANSACTIONS (Transact-SQL)
SET QUOTED_IDENTIFIER (Transact-SQL)SET QUOTED_IDENTIFIER (Transact-SQL)