下表提供了 Microsoft SQL Server 2005 支持的数据库选项及相应 SET 和服务器选项的按字母顺序排序的列表。
| 数据库选项 | SET 选项 | 服务器 选项 | 默认 设置 | 
|---|---|---|---|
| ANSI_NULL_DEFAULT | ANSI_NULL_DFLT_ON ANSI_NULL_DFLT_OFF | “用户选项”分配一个默认值。 | OFF | 
| ANSI_NULLS | ANSI_NULLS | “用户选项”分配一个默认值。 | OFF | 
| ANSI_WARNINGS | ANSI_WARNINGS | “用户选项”分配一个默认值。 | OFF | 
| AUTO_CREATE_STATISTICS | 无 | 无 | ON | 
| AUTO_UPDATE_STATISTICS | 无 | 无 | ON | 
| AUTO_CLOSE | 无 | 无 | FALSE1 | 
| AUTO_SHRINK | 无 | 无 | FALSE | 
| CONCAT_NULL_YIELDS_NULL | CONCAT_NULL_YIELDS_NULL | 无 | OFF | 
| CURSOR_CLOSE_ON_COMMIT | CURSOR_CLOSE_ON_COMMIT | “用户选项”分配一个默认值。 | OFF | 
| RESTRICTED_USER | 无 | 无 | FALSE | 
| CURSOR_DEFAULT_LOCAL | 无 | 无 | FALSE | 
| MERGE PUBLISH | 无 | 无 | FALSE | 
| OFFLINE | 无 | 无 | FALSE | 
| PUBLISHED | 无 | 无 | FALSE | 
| QUOTED_IDENTIFIER | QUOTED_IDENTIFIER | “用户选项”分配一个默认值。 | OFF | 
| READ_ONLY | 无 | 无 | FALSE | 
| RECURSIVE_TRIGGERS | 无 | 无 | FALSE | 
| RECOVERY BULK_LOGGED | 无 | 无 | FALSE | 
| SINGLE_USER | 无 | 无 | FALSE | 
| SUBSCRIBED | 无 | 无 | TRUE | 
| TORN_PAGE_DETECTION | 
 | 无 | TRUE | 
| RECOVERY SIMPLE | 无 | 无 | TRUE | 
1 默认情况下,AUTO_CLOSE 在 SQL Server 2005 Express Edition 中设置为 TRUE。
新数据库的默认数据库选项在 model 数据库中定义。若要了解 model 数据库的默认设置,请参阅 model 数据库。
更改数据库选项将强制重新编译高速缓存中的所有内容。
选项和数据库上下文
脚本的数据库上下文和脚本中的批处理由最近的连接决定。连接可以使用 Transact-SQL 中的 USE 语句显式设置,也可以使用其他环境(如 ODBC 和 OLE DB)中的隐式和显式方法显式设置。有关详细信息,请参阅选择数据库。
当存储过程通过批处理或其他存储过程执行时,此存储过程便使用其所属数据库的选项设置来执行。例如,当存储过程 db1.dbo.sp1 调用存储过程 db2.dbo.sp2 时,sp1 根据 db1 的当前兼容级别设置执行,而 sp2 根据 db2 的当前兼容级别设置执行。
如果一个 Transact-SQL 语句引用多个数据库中的对象,则该语句将应用当前数据库上下文和当前连接上下文。
请参阅
概念
其他资源
ALTER DATABASE (Transact-SQL)
SET (Transact-SQL)
USE (Transact-SQL)