sp_configure (Transact-SQL)

适用于: SQL Server Azure SQL 托管实例 Azure Synapse Analytics 并行数据仓库

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

备注

有关数据库级配置选项,请参阅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_value 和****run_value的值 不会自动等效。 使用 SP_CONFIGURE 更新配置设置后,系统管理员必须使用 RECONFIGURE 或 RECONFIGURE WITH OVERRIDE 更新正在运行的配置值。 有关详细信息,请参阅“备注”部分。

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

有关详细信息,请参阅Transact-(的 sys.configurations 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_value config_value 值应匹配动态更新的选项。 还可以查看 sys.configurations 目录视图的 is_dynamic 列, 查看哪些选项是动态的。

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

备注

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

有关详细信息,请参阅RECONFIGURE (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 重新配置 Microsoft Azure Synapse Analytics 完成后将使用的值。 run_value 是当前正在使用的值。 config_valuerun_value 通常是相同的,除非该值正在进行更改。

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

EXEC sp_configure @configname='hadoop connectivity';  

E. 设置 hadoop 连接

设置 Hadoop 连接除了需要运行其他步骤外,还需要几个sp_configure。 有关完整过程,请参阅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)