使用 SQL Server 中的选项

Microsoft SQL Server 提供影响 SQL 语句的结果和性能的选项。可以按下列方式设置这些参数:

  • 若要设置实例范围内的配置选项,请使用 sp_configure 存储过程。

  • 若要设置数据库级选项,请使用 ALTER DATABASE SET 选项语句。

  • 若要设置数据库兼容级别,请使用 ALTER DATABASE 兼容级别语句。

  • 若要指定批处理级选项(SET 选项),请使用 SET 语句(如 SET ANSI_PADDING 和 SET ANSI_NULLS)。

    注意注意

    在 SQL Server 的以前版本中,以及在已禁用多个活动的结果集 (MARS) 的连接中,批处理级选项称为连接级选项。

  • 使用单独的 Transact-SQL 语句可指定语句级选项,例如,查询提示、表提示和联接提示。有关详细信息,请参阅提示 (Transact-SQL)

ODBC 应用程序可以指定控制一些 ANSI SET 选项的连接选项。默认情况下,SQL Server Native Client OLE DB Provider for SQL Server 和 SQL Server Native Client ODBC 驱动程序均可设置多个 SET 选项。

避免更改 SET 选项并通过 SET 语句设置这些选项。建议通过 ODBC 或 OLE DB 连接属性在连接级别设置 SET 选项。或者也可以使用 sp_configure 存储过程更改 SET 选项设置。

sp_configure 提供了 user options 选项。这使您得以更改多个 SET 选项的默认值。虽然 user options 显示为一个实例选项,但 user options 是一个 SET 选项。

选项层次结构

当某一选项在多个级别受到支持时,将指定下列层次结构:

  1. 数据库选项替代实例选项。

  2. SET 选项替代数据库选项。

  3. 提示替代 SET 选项。

注意注意

在动态 SQL 批处理中设置的 SET 选项只影响该批处理的范围。

注意注意

SET 选项(例如,QUOTED_IDENTIFIER 和 ANSI_NULLS)与存储过程定义保留在一起,因此它优先于显式为其设置的其他值。