服务器配置选项
适用于: SQL Server Azure SQL 托管实例
可以使用 SQL Server Management Studio 或 sp_configure
系统存储过程通过配置选项来管理和优化 SQL Server 资源和Azure SQL 托管实例。 大多数常用的服务器配置选项可以通过 SQL Server Management Studio 来使用;而所有配置选项都可通过 sp_configure
来访问。 在设置这些选项之前应该认真考虑这些选项对系统的影响。 有关详细信息,请参阅“查看或更改服务器属性 (SQL Server)”。
重要
高级选项只能由有经验的数据库管理员或认证的 SQL Server 技术人员更改。
配置选项的分类
如看不到配置更改的效果,则可能没有安装。 检查配置选项的 run_value
是否已更改。
配置选项在设置选项并发出 RECONFIGURE
(在某些情况下为 RECONFIGURE WITH OVERRIDE
)语句之后立即生效。 重新配置某些选项会使计划缓存中的计划失效,并编译新计划。 有关详细信息,请参阅 DBCC FREEPROCCACHE。
可以使用 sys.configurations
目录视图来确定 config_value
(value
列)、run_value
(value_in_use
列)以及配置选项是否需要重启数据库引擎(is_dynamic
列)。
如果需要重启 SQL Server,选项最初只会在 value
列中显示更改后的值。 重启之后,新值将出现在 value
列和 value_in_use
列中。
但有些选项需要在重新启动服务器后,新的配置值才能生效。 如果设置了新值并在重启服务器之前运行 sp_configure
,则新值将出现在 sys.configurations
目录视图的 value
列中,而不是出现在 value_in_use
列中。 重启服务器之后,新值将出现在 value_in_use
列中。
注意
sp_configure
结果集中的 config_value
等同于 sys.configurations
目录视图的 value
列,run_value
等同于 value_in_use
列。
自配置选项是指 SQL Server 根据系统需要进行调整的选项。 大多数情况下,这使您无需手动设置值。 例如,“最大工作线程数”选项和“用户连接数”选项。
以下查询可用于确定是否尚未安装任何配置的值:
SELECT *
FROM sys.configurations
WHERE [value] <> [value_in_use];
如果该值是对配置选项所做的更改,但 value_in_use
不相同,则说明 RECONFIGURE
命令未运行或失败,或者必须重启数据库引擎。
有两个配置选项,其中 value
和 value_in_use
可能不相同,以下为预期行为:
最大服务器内存 (MB) –
0
的默认配置的值将在value_in_use
列中显示为2147483647
。最小服务器内存 (MB) -
0
的默认配置的值可能显示为value_in_use
列中的8
(在 32 位系统上)或16
(在 64 位系统上)。 在某些情况下,如果value_in_use
显示为0
,则实际的value_in_use
为8
(32 位)或16
(64 位)。
is_dynamic
列可用于确定配置选项是否需要重启。 is_dynamic
列中的 1
值表示,运行 RECONFIGURE
命令时,新值会立即生效。 某些情况下,数据库引擎可能不会立即评估新值,但在正常的执行过程中会执行此操作。 is_dynamic
列中的 0
值表示,除非重启数据库引擎,否则即使运行 RECONFIGURE
命令,更改的配置值也不会生效。
对于非动态配置选项,无法判断是否已运行 RECONFIGURE
命令来应用配置更改。 在重启 SQL Server 以应用配置更改之前,请运行以下 RECONFIGURE
命令,以确保下次重启 SQL Server 时,所有配置更改都将生效。
注意
SQL Server 2014 (12.x) 是 32 位操作系统支持的最新版本。
配置选项
下表列出了所有可用的配置选项、可能的设置范围及其默认值以及受支持的产品(SQL Server 或 Azure SQL 托管实例)。 配置选项按以下字母代码标记:
A = 高级选项,仅应由有经验的数据库管理员或认证的 SQL Server 专业人员更改,并且需要将
show advanced options
设置为1
。RR = 需要重启数据库引擎的选项。
RP = 需要重启 PolyBase 引擎的选项。
SC = 自配置选项。
注意
SQL Server 2014 (12.x) 是 32 位操作系统支持的最新版本。
配置选项 | 可能的值 | SQL Server | Azure SQL 托管实例 |
---|---|---|---|
访问检查缓存桶计数 (A) | 最小值:0 最大值: 16384 默认: 0 |
是 | 是 |
访问检查缓存配额 (A) | 最小值:0 最大值: 2147483647 默认: 0 |
是 | 是 |
即席分布式查询 (A) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
ADR 清除程序重试超时(分钟) (A) | 最小值:0 最大值: 32767 默认: 120 |
SQL Server 2019 (15.x) 及更高版本 | 是 |
ADR 清除程序线程计数 (A) | 最小值:1 最大值:32767 默认值:1 |
SQL Server 2019 (15.x) 及更高版本 | 是 |
ADR 预先分配因素 (A) | 最小值:0 最大值: 32767 默认: 4 |
SQL Server 2019 (15.x) 及更高版本 | 是 |
affinity I/O mask (A,RR) | 最小值:-2147483648 最大值: 2147483647 默认: 0 |
是(仅限 64 位) | 否 |
affinity mask (A) | 最小值:-2147483648 最大值: 2147483647 默认: 0 |
是(仅限 64 位) | 是 |
affinity64 I/O mask(A、RR) | 最小值:-2147483648 最大值: 2147483647 默认: 0 |
是(仅限 64 位) | 是 |
affinity64 mask (A) | 最小值:-2147483648 最大值: 2147483647 默认: 0 |
是(仅限 64 位) | 否 |
代理 XPs (A) 1 | 最小值:0 最大值: 1 默认: 0 |
是 | 否 |
允许 PolyBase 导出 | 最小值:0 最大值: 1 默认: 0 |
SQL Server 2016 (13.x) 及更高版本 | 否 |
允许更新 警告:已过时。 请不要使用。 重新配置期间会导致错误。 |
最小值:0 最大值: 1 默认: 0 |
是 | 否 |
自动 soft-NUMA 已禁用(A、RR) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
备份校验和默认值 | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
备份压缩算法 | 最小值:0 最大值: 1 默认: 0 |
SQL Server 2022 (16.x) 及更高版本 | 是 |
backup compression default | 最小值:0 最大值: 1 (SQL Server 2022(16.x 以前版本)或 2 (SQL Server 2022 (16.x 及更高版本)默认: 0 |
是 | 是 |
阻塞的进程阈值 (A) | 最小值:5 最大值: 86400 默认: 0 |
是 | 是 |
c2 审核模式 (A,RR) | 最小值:0 最大值: 1 默认: 0 |
是 | 否 |
clr enabled | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
clr 严格安全性 (A) | 最小值:0 最大值: 1 默认: 1 |
SQL Server 2017 (14.x) 及更高版本 | 是 |
列加密 enclave 类型 (RR) | 最小值:0 最大值: 2 默认: 0 |
是 | 否 |
common criteria compliance enabled (A,RR) | 最小值:0 最大值: 1 默认: 0 |
是 | 否 |
contained database authentication | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
并行的开销阈值 (A) | 最小值:0 最大值: 32767 默认: 5 |
是 | 是 |
cross db ownership chaining | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
cursor threshold (A) | 最小值:-1 最大值: 2147483647 默认: -1 |
是 | 是 |
每日处理的数据限制(以 TB 为单位) | 最小值:0 最大值:2147483647 默认值:2147483647 |
是 | 是 |
每月处理的数据限制(以 TB 为单位) | 最小值:0 最大值:2147483647 默认值:2147483647 |
是 | 是 |
每周处理的数据限制(以 TB 为单位) | 最小值:0 最大值:2147483647 默认值:2147483647 |
是 | 是 |
Database Mail XPs (A) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
default full-text language (A) | 最小值:0 最大值: 2147483647 默认: 1033 |
是 | 是 |
default language | 最小值:0 最大值: 9999 默认: 0 |
是 | 是 |
default trace enabled (A) | 最小值:0 最大值: 1 默认: 1 |
是 | 是 |
disallow results from triggers (A) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
EKM provider enabled (A) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
外部脚本已启用 (SC) | 最小值:0 最大值: 1 默认: 0 |
SQL Server 2016 (13.x) 及更高版本 | 是 |
文件流访问级别 | 最小值:0 最大值: 2 默认: 0 |
是 | 否 |
填充因子 (A,RR) | 最小值:0 最大值: 100 默认: 0 |
是 | 否 |
FT 爬网带宽(最大值) (A) | 最小值:0 最大值: 32767 默认: 100 |
是 | 是 |
FT 爬网带宽(最小值) (A) | 最小值:0 最大值: 32767 默认: 0 |
是 | 是 |
FT 通知带宽(最大值) (A) | 最小值:0 最大值: 32767 默认: 100 |
是 | 是 |
FT 通知带宽(最小值) (A) | 最小值:0 最大值: 32767 默认: 0 |
是 | 是 |
Hadoop 连接 (RP) | 最小值:0 最大值: 7 默认: 0 |
SQL Server 2016 (13.x) 及更高版本 | 是 |
硬件卸载配置(A、RR) | 最小值:0 最大值:255 默认值:0 |
SQL Server 2022 (16.x) 及更高版本 | 是 |
已启用硬件卸载(A、RR) | 最小值:0 最大值: 1 默认: 0 |
SQL Server 2022 (16.x) 及更高版本 | 是 |
硬件卸载模式(A、RR) | 最小值:0 最大值:255 默认值:0 |
SQL Server 2022 (16.x) 及更高版本 | 是 |
in-doubt xact resolution (A) | 最小值:0 最大值: 2 默认: 0 |
是 | 是 |
index create memory (KB)(A,SC) | 最小值:704 最大值: 2147483647 默认: 0 |
是 | 是 |
lightweight pooling (A,RR) | 最小值:0 最大值: 1 默认: 0 |
是 | 否 |
locks (A,RR,SC) | 最小值:5000 最大值: 2147483647 默认: 0 |
是 | 否 |
max degree of parallelism (A) | 最小值:0 最大值: 32767 默认: 0 |
是 | 否 |
max full-text crawl range (A) | 最小值:0 最大值: 256 默认: 4 |
是 | 是 |
最大 RPC 请求参数 (KB) (A) | 最小值:0 最大值: 2147483647 默认: 0 |
SQL Server 2019 (15.x) CU 26 及更高版本、SQL Server 2022 (16.x) CU 13 及更高版本 | 否 |
max server memory (MB)(A、SC) | 最小值:16 最大值: 2147483647 默认: 2147483647 |
是 | 是 |
max text repl size (B) | 最小值:0 最大值: 2147483647 默认: 65536 |
是 | 是 |
最大工作线程数 (A) 2 | 最小值:128 最大值: 32767 默认: 0 对于 64 位,建议最大为 2048 (对于 32 位 ,建议最大为 1024 ) |
是 | 是 |
media retention (A) | 最小值:0 最大值: 365 默认: 0 |
是 | 否 |
min memory per query (KB) (A) | 最小值:512 最大值: 2147483647 默认: 1024 |
是 | 否 |
min server memory (MB)(A、SC) | 最小值:0 最大值: 2147483647 默认: 0 |
是 | 否 |
嵌套触发器 | 最小值:0 最大值: 1 默认: 1 |
是 | 是 |
network packet size (B) (A) | 最小值:512 最大值: 32767 默认: 4096 |
是 | 是 |
Ole Automation Procedures (A) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
open objects (A、RR) 警告:已过时。 请不要使用。 |
最小值:0 最大值: 2147483647 默认: 0 |
是 | 否 |
针对即席工作负荷进行优化 (A) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
PH 超时 (A) | 最小值:1 最大值: 3600 默认: 60 |
是 | 是 |
PolyBase 已启用 | 最小值:0 最大值: 1 默认: 0 |
SQL Server 2019 (15.x) 及更高版本 | 否 |
polybase 网络加密 | 最小值:0 最大值: 1 默认: 1 |
是 | 是 |
precompute rank (A) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
priority boost (A,RR) | 最小值:0 最大值: 1 默认: 0 |
是 | 否 |
query governor cost limit (A) | 最小值:0 最大值: 2147483647 默认: 0 |
是 | 是 |
查询等待 (A) | 最小值:-1 最大值: 2147483647 默认: -1 |
是 | 是 |
恢复间隔(分钟)(A,SC) | 最小值:0 最大值: 32767 默认: 0 |
是 | 是 |
远程访问 (RR) | 最小值:0 最大值: 1 默认: 1 |
是 | 否 |
remote admin connections | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
远程数据存档 | 最小值:0 最大值: 1 默认: 0 |
是 | 否 |
remote login timeout | 最小值:0 最大值: 2147483647 默认: 10 |
是 | 是 |
remote proc trans | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
remote query timeout | 最小值:0 最大值: 2147483647 默认: 600 |
是 | 是 |
复制 XPS (A) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
scan for startup procs (A,RR) | 最小值:0 最大值: 1 默认: 0 |
是 | 否 |
server trigger recursion | 最小值:0 最大值: 1 默认: 1 |
是 | 是 |
设置工作集大小 (A、RR) 警告:已过时。 请不要使用。 |
最小值:0 最大值: 1 默认: 0 |
是 | 否 |
show advanced options | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
SMO 和 DMO XP (A) | 最小值:0 最大值: 1 默认: 1 |
是 | 是 |
取消显示恢复模型错误 (A) | 最小值:0 最大值: 1 默认: 0 |
否 | 是 |
tempdb 元数据内存优化(A、RR) | 最小值:0 最大值: 1 默认: 0 |
SQL Server 2019 (15.x) 及更高版本 | 否 |
transform noise words (A) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
两位数年份截止 (A) | 最小值:1753 最大值: 9999 默认: 2049 |
是 | 是 |
user connections (A,RR,SC) | 最小值:0 最大值: 32767 默认: 0 |
是 | 否 |
user options | 最小值:0 最大值: 32767 默认: 0 |
是 | 是 |
SQL Server 版本高部分 (A) | 最小值:-2147483648 最大值:2147483647 默认值:0 |
是 | 是 |
SQL Server 的低版本 (A) | 最小值:-2147483648 最大值:2147483647 默认值:0 |
是 | 是 |
xp_cmdshell (A) | 最小值:0 最大值: 1 默认: 0 |
是 | 是 |
1 SQL Server 代理启动时,更改为 1
。 如果 SQL Server 代理设置为在安装过程中自动启动,则默认值为 0
。
2 Zero (0
) 根据逻辑处理器数自动配置最大工作线程数。 有关详细信息,请参阅自动配置最大工作线程数。