请教一个xp_cmdshell的问题

时间:2022-06-02 00:14:34
创建SQL代理的作业。作业步骤的时候提示:
已以用户 NT AUTHORITY\SYSTEM 的身份执行。 SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 [SQLSTATE 42000] (错误 15281).  该步骤失败。

然后我执行存储过程:
 
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO

出如下提示:
配置选项 'show advanced options' 已从 1 更改为 1。请运行 RECONFIGURE 语句进行安装。
消息 5808,级别 16,状态 1,第 2 行
不支持对系统目录进行即席更新。
消息 15123,级别 16,状态 1,过程 sp_configure,第 51 行
配置选项 'xp_cmdshell' 不存在,也可能是高级选项。
消息 5808,级别 16,状态 1,第 2 行
不支持对系统目录进行即席更新。

请高手帮忙解决,怎么成功启用'xp_cmdshell'

12 个解决方案

#1


有人可以教教么

#2


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

楼主,你中间用GO断开了。。你用我的试试

#3


try this,

exec sp_configure 'show advanced options', 1
go
reconfigure with override
go

exec sp_configure 'xp_cmdshell', 1
go
reconfigure
go

#4


Sorry! please try this,


exec sp_configure 'show advanced options', 1
go
reconfigure with override
go

exec sp_configure 'xp_cmdshell', 1
go
reconfigure with override
go

#5


Thank YOU!!!!!!
引用 4 楼 ap0405140 的回复:
Sorry! please try this,


exec sp_configure 'show advanced options', 1
go
reconfigure with override
go

exec sp_configure 'xp_cmdshell', 1
go
reconfigure with override
go


又出现了新提示,
已以用户 NT AUTHORITY\SYSTEM 的身份执行。 在执行 xp_cmdshell 的过程中出错。调用 'CreateProcess' 失败,错误代码: '5'。 [SQLSTATE 42000] (错误 15121).  该步骤失败。

#6


lz调用xp_cmdshell执行了什么命令?贴出来呀.

#7


引用 6 楼 ap0405140 的回复:
lz调用xp_cmdshell执行了什么命令?贴出来呀.

我就是执行一个备份的存储过程。
exec BackUPDatabase_LeeHG 'JLPFbbook','F:\JLPFbbookBackup','22:05:00.000',1,'1','1'

#8


打开我的电脑-->F盘-->右键-->属性-->安全-->添加everyone读写权限..

#9


引用 8 楼 ap0405140 的回复:
打开我的电脑-->F盘-->右键-->属性-->安全-->添加everyone读写权限..

亲,添加了,还是同样的提示呢
消息
已以用户 NT AUTHORITY\SYSTEM 的身份执行。 在执行 xp_cmdshell 的过程中出错。调用 'CreateProcess' 失败,错误代码: '5'。 [SQLSTATE 42000] (错误 15121).  该步骤失败。

#10


这个提示一般是指没有权限..
请检查一下SQL Service启动帐号,SQL Agent启动帐号,及当前连线SQL Server的帐号,对xp_cmdshell所执行的命令中相关的路径/文件夹/文件是否有读写的权限.

#11


lz问题解决了没呀?

#12


引用 11 楼 ap0405140 的回复:
lz问题解决了没呀?

解决了,谢谢,我在本机上执行了成功了,开始我是在另一边电脑连的数据库可能是权限不够。

#1


有人可以教教么

#2


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

楼主,你中间用GO断开了。。你用我的试试

#3


try this,

exec sp_configure 'show advanced options', 1
go
reconfigure with override
go

exec sp_configure 'xp_cmdshell', 1
go
reconfigure
go

#4


Sorry! please try this,


exec sp_configure 'show advanced options', 1
go
reconfigure with override
go

exec sp_configure 'xp_cmdshell', 1
go
reconfigure with override
go

#5


Thank YOU!!!!!!
引用 4 楼 ap0405140 的回复:
Sorry! please try this,


exec sp_configure 'show advanced options', 1
go
reconfigure with override
go

exec sp_configure 'xp_cmdshell', 1
go
reconfigure with override
go


又出现了新提示,
已以用户 NT AUTHORITY\SYSTEM 的身份执行。 在执行 xp_cmdshell 的过程中出错。调用 'CreateProcess' 失败,错误代码: '5'。 [SQLSTATE 42000] (错误 15121).  该步骤失败。

#6


lz调用xp_cmdshell执行了什么命令?贴出来呀.

#7


引用 6 楼 ap0405140 的回复:
lz调用xp_cmdshell执行了什么命令?贴出来呀.

我就是执行一个备份的存储过程。
exec BackUPDatabase_LeeHG 'JLPFbbook','F:\JLPFbbookBackup','22:05:00.000',1,'1','1'

#8


打开我的电脑-->F盘-->右键-->属性-->安全-->添加everyone读写权限..

#9


引用 8 楼 ap0405140 的回复:
打开我的电脑-->F盘-->右键-->属性-->安全-->添加everyone读写权限..

亲,添加了,还是同样的提示呢
消息
已以用户 NT AUTHORITY\SYSTEM 的身份执行。 在执行 xp_cmdshell 的过程中出错。调用 'CreateProcess' 失败,错误代码: '5'。 [SQLSTATE 42000] (错误 15121).  该步骤失败。

#10


这个提示一般是指没有权限..
请检查一下SQL Service启动帐号,SQL Agent启动帐号,及当前连线SQL Server的帐号,对xp_cmdshell所执行的命令中相关的路径/文件夹/文件是否有读写的权限.

#11


lz问题解决了没呀?

#12


引用 11 楼 ap0405140 的回复:
lz问题解决了没呀?

解决了,谢谢,我在本机上执行了成功了,开始我是在另一边电脑连的数据库可能是权限不够。