sp_configure (Transact-SQL)

适用于: SQL Server Azure SQL 托管实例 Not supported. Azure Synapse Analytics Analytics Platform System (PDW)

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

注意

有关数据库级配置选项,请参阅 ALTER DATABA标准版 SCOPED CONFIGURATION (Transact-SQL)。 若要配置 Soft-NUMA,请参阅 Soft-NUMA (SQL Server)。

Transact-SQL 语法约定

语法

-- Syntax for SQL Server  
  
sp_configure [ [ @configname = ] 'option_name'   
    [ , [ @configvalue = ] 'value' ] ]  
-- Syntax for Parallel Data Warehouse  
  
-- List all of the configuration options  
sp_configure  
[;]  
  
-- Configure Hadoop connectivity  
sp_configure [ @configname= ] 'hadoop connectivity',  
             [ @configvalue = ] { 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 }  
[;]  
RECONFIGURE  
[;]  

参数

[ @configname = ] 'option_name' 配置选项的名称。 option_name 的数据类型为 varchar(35),默认值为 NULL。 SQL Server 数据库引擎可识别属于配置名称的任何唯一字符串。 如果未指定该参数,则返回选项的完整列表。

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

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

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

返回代码值

0(成功)或 1(失败)

结果集

在没有参数的情况下执行时, sp_configure 返回一个结果集,其中包含五列,按升序顺序对选项进行排序,如下表所示。

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

列名称 数据类型 说明
name nvarchar(35) 配置选项的名称。
最小值 int 配置选项的最小值。
最大值 int 配置选项的最大值。
config_value int 使用 sp_configure (sys.configurations.value 中的 值)设置配置选项的值。 有关这些选项的详细信息,请参阅服务器配置选项(SQL Server)sys.configurations(Transact-SQL)。
run_value int 当前正在运行的配置选项值(sys.configurations.value_in_use 中的值)。

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

注解

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

某些服务器配置选项只能通过 ALTER 标准版RVER CONFIGURATION (Transact-SQL)使用

SQL Server 大数据群集

某些操作(包括配置服务器(实例级)设置或手动将数据库添加到可用性组)需要连接到 SQL Server 实例。 某些操作(例如 sp_configureRESTORE DATABASE 或属于可用性组的数据库中的任何 DDL 命令)需要连接到 SQL Server 实例。 默认情况下,大数据群集不包含用于连接到实例的终结点。 必须手动公开此终结点。

有关说明,请参阅连接到主副本上的数据库

更新运行的配置值

为选项指定新时,结果集将在config_value列中显示此值。 此值最初不同于run_value列中的值,其中显示了当前正在运行的配置值。 若要更新run_value列中正在运行的配置值,系统管理员必须运行 RECONFIGURE 或 RECONFIGURE WITH OVERRIDE。

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

注意

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

RECONFIGURE 语句可以动态更新某些选项,而其他选项的更新则需要停止服务器再重新启动才能实现。 例如,最小服务器内存最大服务器内存选项在 数据库引擎 中动态更新;因此,可以在不重启服务器的情况下更改它们。 相比之下,重新配置填充因子选项的运行值需要重启数据库引擎。

在配置选项上运行 RECONFIGURE 后,可以通过执行 sp_configure“option_name来查看该选项是否已动态更新。 run_valueconfig_value列中的值应与动态更新的选项匹配。 还可以通过查看 sys.configurations 目录视图is_dynamic列来检查查看哪些选项是动态的

更改也会写入 SQL Server 错误日志。

注意

如果指定太高,则run_value列反映了数据库引擎已默认为动态内存的事实,而不是使用无效的设置。

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

高级选项

某些配置选项(例如 关联掩码恢复间隔)被指定为高级选项。 默认情况下,无法查看和更改这些选项。 若要使其可用,请将“ 显示高级选项 ”配置选项设置为 1。

注意

当“显示高级选项”选项设置为 1 时,此设置将应用于所有用户。 建议仅在完成需要查看高级选项的任务时暂时使用此状态并切换回 0。

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

权限

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

示例

A. 列出高级配置选项

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

USE master;  
GO  
EXEC sp_configure 'show advanced options', '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;  

示例:Analytics Platform System (PDW)

°C 列出所有可用的配置设置

以下示例显示如何列出所有的配置选项。

EXEC sp_configure;  

结果返回选项名称,后跟该选项的最小值和最大值。 config_value是 Azure Synapse Analytics 在重新配置完成后将使用的值。 run_value 是当前正在使用的值。 config_valuerun_value 通常是相同的,除非该值正在进行更改。

D. 列出一个配置名称的配置设置

EXEC sp_configure @configname='hadoop connectivity';  

E. 设置 hadoop 连接

除了运行sp_configure之外,设置 Hadoop 连接还需要执行几个步骤。 有关完整过程,请参阅 CREATE EXTERNAL DATA SOURCE (Transact-SQL)。

另请参阅

ALTER SERVER CONFIGURATION (Transact-SQL)
RECONFIGURE (Transact-SQL)
SET 语句 (Transact-SQL)
服务器配置选项 (SQL Server)
ALTER DATABASE (Transact-SQL)
系统存储过程 (Transact-SQL)
sys.configurations (Transact-SQL)
ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
软件 NUMA (SQL Server)