MSSQL sqlserver 关于”不支持对系统目录进行即席更新”的解决办法


摘要:
下文讲述处理“不支持对系统目录进行即席更新”的处理办法
实验环境:sqlserver 2008


问题描述:
今天为了测试openDatasource函数,需对mssql服务器进行相关配置修改,当我们执行以下sql脚本,
出现如下错误提示信息:

    exec sp_configure 'show advanced options',1
reconfigure
go
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
go
  

配置选项 ‘show advanced options’ 已从 1 更改为 1。请运行 RECONFIGURE 语句进行安装。

消息 5808,级别 16,状态 1,第 5 行
不支持对系统目录进行即席更新。

配置选项 ‘Ad Hoc Distributed Queries’ 已从 1 更改为 1。请运行 RECONFIGURE 语句进行安装。

消息 5808,级别 16,状态 1,第 2 行
不支持对系统目录进行即席更新。

mssql_sqlserver_不支持对系统目录进行即席更新

mssql_sqlserver_不支持对系统目录进行即席更新


解决办法:
解决方法1: 将reconfigure修改为 RECONFIGURE WITH OVERRIDE,此配置可以正常运行

  exec sp_configure 'show advanced options',1
  reconfigure WITH OVERRIDE
   go
   exec sp_configure 'Ad Hoc Distributed Queries',1
   reconfigure WITH OVERRIDE
  go
  

reconfigure:
此关键字的功能为修改系统属性,不需重启服务器,reconfigure还会检查配置中是否存在无效值及当前配置是否成功。
WITH OVERRIDE:
此关键字的功能禁用配置值得检查操作(不推荐使用此关键字)
—————————————————–
解决方法2:
修改allow_updates的值为0
reconfigure配置失败的原因:
通常因为allow_updates中config_value和run_value的值为1,使用sp_configure 将其设置为0,重新使用reconfigure进行
属性设置,一切恢复正常

   EXEC sp_configure 'allow_updates'  ---查看allow_updates值
   /*
	--------------输出---------------
   name	          minimum	maximum	config_value	run_value
   allow updates	0	      1	      1            	1
   */
   go
   EXEC sp_configure 'allow_updates',0;
   go

    exec sp_configure 'show advanced options',1
    reconfigure 
   go
   exec sp_configure 'Ad Hoc Distributed Queries',1
   reconfigure 
    go
  

mssql_sqlserver_reconfigure配置allow_updates-1

mssql_sqlserver_reconfigure配置allow_updates-1


mssql_sqlserver_reconfigure配置allow_updates-2

mssql_sqlserver_reconfigure配置allow_updates-2