数据库选项
下表提供了 MicrosoftSQL Server 支持的数据库选项及相应 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 语句引用多个数据库中的对象,则该语句将应用当前数据库上下文和当前连接上下文。