随笔 - 170  文章 - 0  评论 - 349  阅读 - 235万

SQL Server如何启用xp_cmdshell组件

【错误描述】:

  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界面可能会有差异,请根据自己的版本查找。
posted on 2014-08-01 23:15  zock  阅读(73731)  评论(1)    收藏  举报
编辑推荐:
· 记一次 ADL 导致的 C++ 代码编译错误
· MySQL查询执行顺序:一张图看懂SQL是如何工作的
· 为什么PostgreSQL不自动缓存执行计划?
· 于是转身独立开发者
· C#.Net筑基-泛型T & 协变逆变
阅读排行:
· 精选 10 个 C#/.NET 开发必备开源库!
· Cursor 网页版来了,这下拉屎时也能工作了
· 当我昨天还在为那1000流量欣喜时,今天直接翻10倍
· Deepseek学习笔记
· .NET周刊【6月第4期 2025-06-22】

点击右上角即可分享
微信分享提示