SQL Server 阻止组件 xp_cmdshell

Posted 阿文sky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 阻止组件 xp_cmdshell相关的知识,希望对你有一定的参考价值。

错误信息描述

消息 15281,级别 16,状态 1,过程 xp_cmdshell,第 1 行
SQL Server 阻止了对组件 \'xp_cmdshell\' 的 过程 \'sys.xp_cmdshell\' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 \'xp_cmdshell\'。有关启用 \'xp_cmdshell\' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

组件 xp_cmdshell介绍

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

解决办法:

1.使用sql语句开启

通过查询分析器,选择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 SERVER 2005

 

SQL SERVER 2008 

在服务器节点上,点击右键,选择“方面”,然后可以看到有很多方面的设置,其中有一项就是“外围应用配置器”

 

以上是关于SQL Server 阻止组件 xp_cmdshell的主要内容,如果未能解决你的问题,请参考以下文章

解决SQL Server 阻止了对组件Ad Hoc Distributed Queries访问的方法

解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource&#

解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource&#

SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource'

SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource

转载解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasour(代