Usar las opciones de SQL Server

Microsoft SQL Server proporciona opciones que afectan al resultado y al rendimiento de las instrucciones SQL. Puede usar estas opciones de varias maneras:

  • Para establecer opciones de configuración de toda la instancia, use el procedimiento almacenado sp_configure.

  • Para establecer opciones de nivel de base de datos, use la instrucción Opciones SET de ALTER DATABASE.

  • Para establecer el nivel de compatibilidad de la base de datos, use la instrucción Nivel de compatibilidad de ALTER DATABASE.

  • Para especificar opciones de lote (opciones SET), use las instrucciones SET, como SET ANSI_PADDING y SET ANSI_NULLS.

    Nota

    Las opciones de nivel de lote se conocen como opciones de nivel de conexión en versiones anteriores de SQL Server y también en conexiones que han deshabilitado MARS (Conjuntos de resultados activos múltiples).

  • Para especificar opciones de nivel de instrucción, como sugerencias de consulta, de tabla y de combinación, use las instrucciones Transact-SQL individuales. Para obtener más información, vea Sugerencias (Transact-SQL).

Las aplicaciones ODBC pueden especificar opciones de conexión que controlan algunas de las opciones de ANSI SET. Tanto el proveedor de SQL Server Native Client OLE DB para SQL Server como el controlador de SQL Server Native Client ODBC establecen varias opciones SET de manera predeterminada.

Evite cambiar las opciones SET y configurarlas a través de instrucciones SET. En su lugar, se recomienda establecer las opciones SET en el nivel de conexión a través de las propiedades de la conexión de ODBC u OLE DB. También puede cambiar la configuración de las opciones SET con el procedimiento almacenado sp_configure.

sp_configure proporciona la opción user options. Esto permite cambiar los valores predeterminados de varias opciones SET. Aunque user options parece una opción de instancia, es una opción SET.

Jerarquía de opciones

Cuando una opción se admite en más de un nivel, se impone la siguiente jerarquía:

  1. Una opción de base de datos invalida una opción de instancia.

  2. Una opción SET invalida una opción de base de datos.

  3. Una sugerencia invalida una opción SET.

Nota

Las opciones SET establecidas con un lote SQL dinámico afectan únicamente al ámbito de ese lote.

Nota

Las opciones SET, como QUOTED_IDENTIFIER y ANSI_NULLS, persisten con la definición del procedimiento almacenado y, por tanto, prevalecen sobre diferentes valores establecidos explícitamente para ellas.