sp_configure

3 SQL SERVER 学习 专栏收录该内容
145 篇文章 0 订阅

sp_configure (Transact-SQL)

SQL Server 2012
3(共 3)对本文的评价是有帮助 评价此主题

显示或更改当前服务器的全局配置设置。

主题链接图标 Transact-SQL 语法约定

sp_configure [ [ @configname = ] 'option_name' 
    [ , [ @configvalue = ] 'value' ] ]
@configname= ]  ' option_name '

配置选项的名称。 option_name 的数据类型为 varchar(35),默认值为 NULL。 SQL Server 数据库引擎能够识别构成配置名称的任何唯一字符串。 如果未指定该参数,则返回选项的完整列表。

有关可用配置选项及其设置的信息,请参阅服务器配置选项

@configvalue= ]  ' value '

新的配置设置。 value 的数据类型为 int,默认值为 NULL。 最大值取决于各个选项。

若要查看每个选项的最大值,请参阅 sys.configurations 目录视图的 maximum 列。

0(成功)或 1(失败)

如果不带参数执行,则 sp_configure 返回的结果集有五列,并按字母升序排列选项(如下表所示)。

config_value 和 run_value 的值并不自动等价。 使用 sp_configure 更新配置设置后,系统管理员必须使用 RECONFIGURE 或 RECONFIGURE WITH OVERRIDE 更新正在运行的配置值。 有关详细信息,请参见“备注”部分。

列名

数据类型

说明

name

nvarchar(35)

配置选项的名称。

minimum

int

配置选项的最小值。

maximum

int

配置选项的最大值。

config_value

int

通过使用 sp_configure 设置的配置选项值(sys.configurations.value 中的值)。 有关这些选项的详细信息,请参阅服务器配置选项和 sys.configurations (Transact-SQL)

run_value

int

配置选项的当前运行值(sys.configurations.value_in_use 中的值)。

有关详细信息,请参阅 sys.configurations (Transact-SQL)

使用 sp_configure 可以显示或更改服务器级别的设置。 若要更改数据库级别设置,请使用 ALTER DATABASE。 若要更改仅影响当前用户会话的设置,请使用 SET 语句。

更新运行的配置值

为 option 指定新 value 时,结果集的 config_value 列中将显示该值。 该值最初与 run_value 列中的值不同,后者显示当前运行的配置值。 若要更新 run_value 列中的运行配置值,系统管理员必须运行 RECONFIGURE 或 RECONFIGURE WITH OVERRIDE。

RECONFIGURE 和 RECONFIGURE WITH OVERRIDE 对每个配置选项都有效。 但是,基本 RECONFIGURE 语句会拒绝处于合理范围之外或可能导致选项冲突的任何选项值。 例如,如果 recovery interval 的值大于 60 分钟,或 affinity mask 的值与 affinity I/O mask 的值重叠,则 RECONFIGURE 会生成错误。 与此相反,RECONFIGURE WITH OVERRIDE 则接受具有正确数据类型的任何选项值,并使用指定的值强制进行重新配置。

注意事项 注意

不合适的选项值会给服务器实例的配置造成不利影响。 请谨慎使用 RECONFIGURE WITH OVERRIDE。

RECONFIGURE 语句可以动态更新某些选项,而其他选项的更新则需要停止服务器再重新启动才能实现。 例如,在数据库引擎中会动态更新 min server memory 和 max server memory 服务器内存选项,所以无需重新启动服务器便可更改这两个选项。 与此相反,重新配置 fill factor 选项的运行值时,则需要重新启动数据库引擎。

对某个配置选项运行 RECONFIGURE 后,可通过执行 sp_configure'option_name' 来查看是否已动态更新了该选项。 对于动态更新的选项而言,run_value 列和config_value 列的值应匹配。 还可以通过查看 sys.configurations 目录视图的 is_dynamic 列来确定哪些选项是动态的。

注意 注意

如果为选项指定的 value 值过高,则 run_value 列将反映这样的事实:数据库引擎默认使用动态内存,而不使用无效设置。

有关详细信息,请参阅 RECONFIGURE (Transact-SQL)

高级选项

有些配置选项(例如 affinity mask 和 recovery interval)被指定为高级选项。 默认情况下,无法查看和更改这些选项。 若要使这些选项可用,请将ShowAdvancedOptions 配置选项设置为 1。

有关配置选项及其设置的详细信息,请参阅服务器配置选项

默认情况下,所有用户都具备不带参数或仅带第一个参数的 sp_configure 的执行权限。 若要执行带两个参数的 sp_configure 以更改配置选项或运行 RECONFIGURE 语句,则必须具备 ALTER SETTINGS 服务器级别的权限。 ALTER SETTINGS 权限由 sysadmin 和 serveradmin 固定服务器角色隐式持有。

A.列出高级配置选项

以下示例显示如何设置并列出所有的配置选项。 先将 show advanced option 设置为 1,便可显示高级配置选项。 更改该选项后,不带参数执行 sp_configure 将会显示全部配置选项。

USE master;
GO
EXEC sp_configure 'show advanced option', '1';

以下是显示的消息:“配置选项 'show advanced options' 已从 0 改为 1。 请运行 RECONFIGURE 语句进行安装。”

运行 RECONFIGURE 并显示全部配置选项:

RECONFIGURE;
EXEC sp_configure;

B.更改配置选项

以下示例将系统 recovery interval 设置为 3 分钟。

USE master;
GO
EXEC sp_configure 'recovery interval', '3';
RECONFIGURE WITH OVERRIDE;
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值