码迷,mamicode.com
首页 > 数据库 > 详细

打开较大存储量的.sql文件时,出现SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问

时间:2016-04-24 00:53:10      阅读:449      评论:0      收藏:0      [点我收藏+]

标签:

1.

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

解决方法:

sqlserver2005时

EXEC sp_configure N‘show advanced options‘, N‘1‘ 
RECONFIGURE WITH OVERRIDE
EXEC sp_configure N‘xp_cmdshell‘, N‘1‘
RECONFIGURE WITH OVERRIDE 
EXEC sp_configure N‘show advanced options‘, N‘0‘ 
RECONFIGURE WITH OVERRIDE
如果不是sqlserver2005可使用如下的方法(我没有实验)

EXEC sp_configure ‘show advanced options‘, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell‘, 1;RECONFIGURE

RECONFIGURE:指定如果配置设置不需要服务器停止并重新启动,则更新当前运行的值,如果没有这个关键字的话将要重新启动sqlserver服务才能生效。

Remind:开启执行顺序是‘show advanced options‘,然后才执行‘xp_cmdshell‘。,如果要关闭这个高级选项的话,要先执行‘xp_cmdshell‘然后再执行‘show advanced options‘。数字1代表开启,0代表关闭。

如果cmdshell还不行的话,就再运行:
dbcc addextendedproc("xp_cmdshell","xplog70.dll");--
或者
sp_addextendedproc xp_cmdshell,@dllname=‘xplog70.dll‘
来恢复cmdshell。

 

 

2.

执行 master.dbo.xp_cmdshell ‘osql -U sa -P 123456 -i d:\test.sql‘

打开较大存储量的.sql文件时,出现SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问

标签:

原文地址:http://www.cnblogs.com/kesimin/p/5426084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!