SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
今天在做一个数据库修复的时候,突然提示了一个错误,如下所示
运行时错误 '-2147217900 (80040e14)':
SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
看了一下这个提示,应该是权限不够造成的;
问题原因所在
1:错误是因为使用bcp命令的时候,没有权限。SQL Server的用户没有SP_configure的使用权限, 需要将对应用户添加"sysadmin"角色。
2:xp_cmdshell可以让系统管理员以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式 返回任何输出,是一个功能非常强大的扩展存贮过程。一般情况下,xp_cmdshell对管理员来说也是不必要的,xp_cmdshell的消除不会对Server造成任何影响
直接用下载的SQL语句,执行SQL查询,并执行即可!
EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
配置选项 'show advanced options' 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。
配置选项 'xp_cmdshell' 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。
执行完,就可以正常的操作了~~~
延伸阅读:值得说明的还有额外的参数错误,比如cmd.exe程序或XP_cmdshell存储过程调用过程中被阻止。
1、需确认当前机器上是否有运行了360安全卫士等杀毒软件,需完全退出,甚至卸载;
2、根据路径“C:\WINDOWS\SYSTEM32”找到“CMD.exe”文件并单击右键选择[属性]→[安全]→[编辑]→[添加]→[高级]→[立即查找],分别选择“system”和“Administrators”后再勾选“完全控制”,然后点击[确定];
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!