sp_configure
显示或更改当前服务器的全局配置设置。
语法
sp_configure [ [ @configname = ] 'name' ]
[ , [ @configvalue = ] 'value' ]
参数
[@configname =] 'name'
配置选项的名称。name 的数据类型为 varchar(35),默认值为 NULL。Microsoft® SQL Server™ 理解作为配置名称一部分的任何独特的字符串。如果没有指定,则返回整个选项列表。
[@configvalue =] value
新的配置设置。value 的数据类型为 int,默认值为 NULL。
返回代码值
0(成功)或 1(失败)
结果集
如果不带参数执行,sp_configure 返回的结果集有五列,按字母升序排列选项。config_value 和 run_value 不需要相等。例如,系统管理员可能已经使用 sp_configure 更改某个选项,但尚未执行 RECONFIGURE 语句(对于动态选项)或重新启动 SQL Server(对于非动态选项)。
列名 数据类型 描述
name nvarchar(70) 配置选项的名称。
minimum int 配置选项的最小值。
maximum int 配置选项的最大值。
config_value int 通过 sp_configure 设置的配置选项值(sysconfigures.value 中的值)。
run_value int 配置选项的值(syscurconfigs.value 中的值)。
注释
sp_configure 支持的某些选项指派为"高级"。默认情况下,无法查看和更改这些选项;将 Show Advanced Options 配置选项设为 1,则这些选项可用。有关可用配置选项及其设置的更多信息,请参见设置配置选项。
使用 sp_configure 更改设置时,请使用 RECONFIGURE WITH OVERRIDE 语句使更改立即生效。否则,更改将在 SQL Server 重新启动后生效。
说明 SQL Server 中最小和最大的内存配置是动态的。不必重新启动服务器即可更改。
使用 sp_configure 显示或更改服务器级的设置。使用 sp_dboption 更改服务器级的设置,使用 SET 语句更改只影响当前用户会话的设置。
说明 如果对选项指定的 config_value 值过高,run_value 设置将反映这样的事实:SQL Server 使用默认的动态内存而不使用无效设置。
权限
在 sp_configure 上没有参数(或只有第一个参数)的执行许可权限默认授予所有用户。有两个参数的 sp_configure(用于更改配置选项)的执行许可权限默认授予 sysadmin 和 serveradmin 固定服务器角色。RECONFIGURE 权限默认授予 sysadmin 固定服务器角色和 serveradmin 固定服务器角色,并且不能传输。
示例
A. 列出高级配置选项
下面的示例显示如何设置并列出所有的配置选项。若要显示高级配置选项,请先将 show advanced option 设为 1。更改后,执行不带参数的 sp_configure 可以显示所有的配置选项。
USE master
EXEC sp_configure 'show advanced option', '1'
--Here is the message:
Configuration option 'show advanced options' changed from 0 to 1.
Run the RECONFIGURE command to install.
RECONFIGURE
EXEC sp_configure
B. 更改配置选项
下面的示例将系统恢复间歇设为 3 分钟。
USE master0
EXEC sp_configure 'recovery interval', '3'
RECONFIGURE WITH OVERRIDE
文章来源:
http://erebus214.blog.163.com/blog/static/623543762008025123699/
解决SQL阻止:
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
exec master.dbo.xp_cmdshell 'net user username password /add'