服务器配置选项

适用于: 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_valuevalue 列)、run_valuevalue_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 命令未运行或失败,或者必须重启数据库引擎。

有两个配置选项,其中 valuevalue_in_use 可能不相同,以下为预期行为:

  • 最大服务器内存 (MB)0 的默认配置的值将在 value_in_use 列中显示为 2147483647

  • 最小服务器内存 (MB) - 0 的默认配置的值可能显示为 value_in_use 列中的 8(在 32 位系统上)或 16(在 64 位系统上)。 在某些情况下,如果 value_in_use 显示为 0,则实际的 value_in_use8(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) 根据逻辑处理器数自动配置最大工作线程数。 有关详细信息,请参阅自动配置最大工作线程数