sp_configure (Transact-SQL)

适用于: SQL Server Azure SQL 托管实例 不支持 Azure Synapse Analytics Analytics Platform System (PDW)

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

注意

有关数据库级配置选项,请参阅 ALTER DATABASE 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 使用 sys.configurations.value) 中的sp_configure (值设置配置选项的值。 有关这些选项的详细信息,请参阅 Server Configuration Options (SQL Server) sys.configurations (Transact-SQL)
run_value int 配置选项当前正在运行的值 (sys.configurations.value_in_use) 中的值。

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

备注

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

某些服务器配置选项只能通过 ALTER SERVER 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 列反映这样一个事实:数据库引擎已默认为动态内存,而不是使用无效的设置。

有关详细信息,请参阅 重新配置 (Transact-SQL)

高级选项

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

注意

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

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

权限

默认情况下,所有用户都具备不带参数或仅带第一个参数的 sp_configure 的执行权限。 若要使用两个参数执行 sp_configure 以更改配置选项或运行 RECONFIGURE 语句,必须授予 ALTER SETTINGS 服务器级权限。 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)