SQL Server 阻止了对组件'xp_cmdshell' 的过程'sys.xp_cmdshell' 的访问
(2011-05-06 02:40:52)
标签:
it |
use master
go
if exists(select * from sysdatabases where name='bbsDB')
go
Exec xp_cmdshell
'mkdir
d:\project'
create database
bbsDB
(
)
log on
(
name='bbsDB_log',
)
运行后显示信息如下:
消息15281,级别16,状态1,过程xp_cmdshell,第1 行
SQL Server 阻止了对组件'xp_cmdshell' 的过程'sys.xp_cmdshell'
的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用sp_configure
启用'xp_cmdshell'。有关启用'xp_cmdshell' 的详细信息,请参阅SQL Server
联机丛书中的"外围应用配置器"。
解决办法:
1、手动在D盘创建“project”目录,同时注释掉Exec xp_cmdshell 'mkdir d:\project' 语句
2、启动外围应用配置器工具
在“开始”菜单中,依次指向“程序”、“Microsoft SQL Server 2005”、“配置工具”,再单击“SQL Server
外围应用配置器”。单击“配置外围应用”旁边的链接。默认值为
localhost。如果您以前选择的是一个命名服务器,则将会看到该服务器名称。选择“功能的外围应用配置器”,启用'xp_cmdshell'选项打勾即可。
3、设置服务器配置选项
(1)启用'xp_cmdshell',加入如下语句:
sp_configure
'xp_cmdshell',
1;
go
reconfigure;
go
则执行结果如下:
消息15123,级别16,状态1,过程sp_configure,第51 行
配置选项'xp_cmdshell' 不存在,也可能是高级选项。
(2)可通过下面语句查看高级选项
ORDER BY name ;
GO
configuration_id
name
------------------------------------------------------- ----------
-----------
。。。。。。
16390
1
1
(62 行受影响)
加入下面语句后则执行成功:
sp_configure
'show advanced options',
1;
go
reconfigure;
go
参考资料:
功能的外围应用配置器工具提供一个单一界面,用于启用或禁用多个数据库引擎、Analysis Services 和 Reporting Services 功能。禁用未使用的功能可减少 SQL Server 外围应用,有助于保护 Microsoft SQL Server 安装。