SQL Server 阻止了对组件'xp_cmdshell' 的过程'sys.xp_cmdshell' 的访问?

时间:2021-12-30 21:17:05

 

use master
go
if exists(select * from sysdatabases where name='bbsDB')
   drop database bbsDB
go
Exec xp_cmdshell 'mkdir d:\project'   --调用dos命令创建文件夹
 
create database bbsDB
 on
(
 name='bbsDB_data',
 filename='d:\project\bbsDB_data.mdf',
 size=10mb,
 filegrowth=20%
)
log on
(
name='bbsDB_log',
 filename='d:\project\bbsDB_data.ldf',
 size=3mb,
 maxsize=20mb,
 filegrowth=10%
)
 
运行后显示信息如下:
消息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)可通过下面语句查看高级选项
    SELECT * FROM sys.configurations
ORDER BY name ;
GO
 
结果:
configuration_id name    value     minimum    maximum   value_in_use     description    is_dynamic is_advanced                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
------------------------------------------------------- ---------- -----------
。。。。。。
16390     xp_cmdshell       0           0          1            0      Enable or disable command shell     1     1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
(62 行受影响)
 
(3)若要用 sp_configure 配置高级选项,必须首先在 "show advanced options" 选项设置为 1 的情况下运行 sp_configure,然后运行 RECONFIGURE:
加入下面语句后则执行成功:
sp_configure 'show advanced options', 1;
go
reconfigure;
go
 
 
参考资料:
功能的外围应用配置器工具提供一个单一界面,用于启用或禁用多个数据库引擎、Analysis Services 和 Reporting Services 功能。禁用未使用的功能可减少 SQL Server 外围应用,有助于保护 Microsoft SQL Server 安装。
下表列出了每个设置的默认值,并提供指向 F1 帮助主题的链接。
数据库引擎功能默认值
设置 默认值 F1 帮助主题
即席分布式查询 在新安装中禁用。 功能的外围应用配置器(即席远程查询)- 数据库引擎
公共语言运行时 (CLR) 集成 在新安装中禁用。 功能的外围应用配置器(CLR 集成)- 数据库引擎
专用管理员连接 (DAC) 在新安装中禁用。 功能的外围应用配置器 (DAC) - 数据库引擎
数据库邮件 在新安装中禁用。 功能的外围应用配置器(数据库邮件)- 数据库引擎
本机 XML Web 服务 默认情况下,未配置端点。 功能的外围应用配置器(本机 XML Web 服务)- 数据库引擎
OLE 自动化存储过程 在新安装中禁用。 功能的外围应用配置器(OLE 自动化)- 数据库引擎
Service Broker 默认情况下,未配置端点。 功能的外围应用配置器 (Service Broker) - 数据库引擎
SQL 邮件 在新安装中禁用。 功能的外围应用配置器 (SQL Mail) - 数据库引擎
Web 助手存储过程 在新安装中禁用。 功能的外围应用配置器(Web 助手)- 数据库引擎
xp_cmdshell 在新安装中禁用。 功能的外围应用配置器 (xp_cmdshell) - 数据库引擎

Analysis Services 功能默认值
设置 默认值 F1 帮助主题
即席数据挖掘查询 在新安装中禁用。 功能的外围应用配置器(即席数据挖掘查询)- Analysis Services
匿名连接 在新安装中禁用。 功能的外围应用配置器(匿名连接)- Analysis Services
链接对象 在新安装中禁用。 功能的外围应用配置器(链接对象)- Analysis Services
用户定义函数 在新安装中禁用。 功能的外围应用配置器(用户定义函数)- Analysis Services

Reporting Services 功能默认值
功能 默认设置 F1 帮助主题
Web 服务请求和 HTTP 访问 在新安装中启用。 功能的外围应用配置器(Web 服务和 HTTP 访问)- Reporting Services
预定的事件和报表传递 在新安装中启用。 功能的外围应用配置器(预定的事件和报表传递)- Reporting Services
Windows 集成安全性 在新安装中启用 功能的外围应用配置器(Windows 集成安全性)- Reporting Services

 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dragonfly0451/archive/2008/03/03/2142784.aspx