服务器配置:用户选项
适用范围:SQL Server
本文介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中配置 user options
服务器配置选项。 该 user options
选项指定所有用户的全局默认值。 将建立一个用户工作会话期间使用的默认查询处理选项的列表。 使用 user options
此选项可以更改选项的 SET
默认值(如果服务器的默认设置不适用)。
用户可以使用语句替代这些默认值 SET
。 可以动态配置 user options
新登录名。 更改设置 user options
后,新的登录会话将使用新设置。 当前登录会话不受影响。
建议
下表列出了和描述其 user options
配置值。 并非所有配置值都是相互兼容的。 例如, ANSI_NULL_DFLT_ON
ANSI_NULL_DFLT_OFF
不能同时设置。
值 | 配置 | 说明 |
---|---|---|
1 |
DISABLE_DEF_CNST_CHK |
控制执行期间或延迟的约束检查。 |
2 |
IMPLICIT_TRANSACTIONS |
对于 DBLIB 网络库连接,控制执行语句时是否隐式启动事务。 此设置 IMPLICIT_TRANSACTIONS 对 ODBC 或 OLEDB 连接没有影响。 |
4 |
CURSOR_CLOSE_ON_COMMIT |
控制执行提交操作后游标的行为。 |
8 |
ANSI_WARNINGS |
控制截断和 NULL 聚合警告。 |
16 |
ANSI_PADDING |
控制固定长度变量的填充。 |
32 |
ANSI_NULLS |
在使用相等运算符时控制 NULL 的处理。 |
64 |
ARITHABORT |
在查询执行过程中发生溢出或被零除错误时终止查询。 |
128 |
ARITHIGNORE |
在 NULL 查询期间发生溢出或除零错误时返回。 |
256 |
QUOTED_IDENTIFIER |
对表达式进行求值时区别单引号和双引号。 |
512 |
NOCOUNT |
关闭执行每个语句后返回的报告受影响的行数的消息。 |
1024 |
ANSI_NULL_DFLT_ON |
将会话的行为更改为使用 ANSI 兼容的空性。 未显式定义为空性的新列允许使用空值。 |
2048 |
ANSI_NULL_DFLT_OFF |
将会话的行为更改为不使用 ANSI 兼容的空性。 在没有显式可为 null 的情况下定义的新列不允许 null 值。 |
4096 |
CONCAT_NULL_YIELDS_NULL |
NULL 与字符串连接NULL 值时返回。 |
8192 |
NUMERIC_ROUNDABORT |
表达式中出现精度降低时生成错误。 |
16384 |
XACT_ABORT |
如果 Transact-SQL 语句引发运行时错误,则回滚事务。 |
位 user options
位置与位位置 @@OPTIONS
相同。 每个连接都有自己的 @@OPTIONS
函数,它表示配置环境。 登录到 SQL Server 实例时,用户会收到一个将当前 user options
值 @@OPTIONS
分配给的默认环境。 执行 SET
语句会影响 user options
会话 @@OPTIONS
函数中的相应值。 在此设置更改后创建的所有连接都将收到新值。
权限
默认情况下,所有用户都具备不带参数或仅带第一个参数的 sp_configure
的执行权限。 若要使用两个参数执行 sp_configure
来更改配置选项或运行 RECONFIGURE
语句,用户必须拥有 ALTER SETTINGS
服务器级别权限。 ALTER SETTINGS
权限由 sysadmin 和 serveradmin 固定服务器角色隐式拥有。
使用 SQL Server Management Studio
在对象资源管理器中,右键单击服务器并选择 “属性” 。
选择“连接”节点。
在 “默认连接选项” 框中,选择一个或多个属性以便为所有已连接的用户配置默认查询处理选项。
默认情况下,不配置用户选项。
使用 Transact-SQL
连接到 数据库引擎。
在标准栏上,选择“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 此示例演示如何使用sp_configure来配置
user options
更改服务器选项的设置ANSI_WARNINGS
。USE master; GO EXECUTE sp_configure 'user options', 8; GO RECONFIGURE; GO
跟进:配置用户选项配置选项后
该设置将立即生效,无需重新启动服务器。