sys.configurations (Transact-SQL)
适用范围:SQL Server
系统中每个服务器范围的配置选项值各占一行。
列名称 | 数据类型 | 说明 |
---|---|---|
configuration_id | int | 配置值的唯一 ID。 |
name | nvarchar(35) | 配置选项的名称。 |
value | sql_variant | 该选项的配置值。 |
最小值 | sql_variant | 配置选项的最小值。 |
最大值 | sql_variant | 配置选项的最大值。 |
value_in_use | sql_variant | 该选项当前使用的运行值。 |
说明 | nvarchar(255) | 配置选项的说明。 |
is_dynamic | bit | 1 = 执行 RECONFIGURE 语句时生效的变量。 |
is_advanced | bit | 1 = 仅当设置 show advancedoption 时,才会显示变量。 |
注解
有关所有服务器配置选项的列表,请参阅服务器配置选项(SQL Server)。
注意
有关数据库级配置选项,请参阅 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)。 若要配置 Soft-NUMA,请参阅 Soft-NUMA (SQL Server)。
sys.configurations 目录视图可用于确定config_value(值列)、run_value(value_in_use列),以及配置选项是动态的(不需要服务器引擎重启还是is_dynamic列)。
注意
sp_configure的结果集中的config_value等效于 sys.configurations.value 列。 run_value等效于sys.configurations.value_in_use列。
以下查询可用于确定是否已安装任何已配置的值:
select * from sys.configurations where value != value_in_use
如果该值等于所做配置选项的更改,但 value_in_use 不同,则 RECONFIGURE 命令未运行或失败,或者必须重新启动服务器引擎。
有一些配置选项,其中值和value_in_use可能不相同,这是预期行为。 例如:
“max server memory (MB)” - 默认值 0 显示为 value_in_use = 2147483647
“min server memory (MB)” - 默认值 0 可能显示为 value_in_use = 8 (32 位) 或 16 (64 位)。 在某些情况下, value_in_use 为 0。 在这种情况下,“true” value_in_use 为 8(32 位)或 16(64 位)。
可以使用 is_dynamic 列来确定配置选项是否需要重启。 is_dynamic=1 表示执行 RECONFIGURE(T-SQL) 命令时,新值将“立即”生效(在某些情况下,服务器引擎可能不会立即评估新值,但在执行过程中会执行该值)。 is_dynamic=0 表示在重新启动服务器之前,更改的配置值才会生效,即使执行了 RECONFIGURE(T-SQL) 命令。
对于不是动态的配置选项,无法判断是否已运行 RECONFIGURE(T-SQL) 命令以执行安装配置更改的第一步。 在重启 SQL Server 以安装配置更改之前,请运行 RECONFIGURE(T-SQL)命令,以确保所有配置更改在 SQL Server 重启后生效。
权限
要求 公共 角色具有成员身份。