SQL Server阻止了对组件‘xp_cmdshell’的过程‘sys.xp_cmdshell’的访问。

方法1:sql语句解决:

【错误描述】:

  SQL Server阻止了对组件‘xp_cmdshell’的过程‘sys.xp_cmdshell’的访问。因为此组件已作为此服务嚣安全配置的一部分而被关闭。系统管理员可以通过使用sp_configure启用‘xp_cmdshell’。有关启用‘xp_cmdshell’的详细信息,请参阅sQL帮助文件。

【原因分析】:

  xp_cmdshell可以让系统管理员以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出,是一个功能非常强大的扩展存贮过程。一般情况下,xp_cmdshell对管理员来说也是不必要的,xp_cmdshell的消除不会对Server造成任何影响。

【解决办法】:

1、通过SQL语句开启。[推荐此方法,因为在任何版本的SQL SERVER中都可以使用。]
通过查询分析器,选择Master数据库,然后执行以下SQL内容:

sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'xp_cmdshell',1
reconfigure
go

执行结果:

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

如需关闭只需将“sp_configure 'xp_cmdshell',1”改为“sp_configure 'xp_cmdshell',0”即可。

方法2、通过"SQL SERVER外围应用配置器"开启。[如果记代码困难,那就用此方法吧。]

找到开始 --> SQL安装目录 --> 配置 SQL server managerment 外围应用配置器。如图:

SQL server managerment 外围应用配置器
打开后。找到并点击“功能的外围应用配置器”。

再打开的窗口中点击最下面的 xp_cmdshell然后点击右边的启用即可。

功能的外围应用配置器

打开后,找到“xp_cmdshell”点击启用。
xp_cmdshell
以上图片来自SQL SERVER 2005,其他版本的SQL界面可能会有差异,请根据自己的版本查找。

添加新评论