我尝试在SQL Server中启用xp_cmdshell
。所以我跑了:
EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE
EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE
返回的消息显示:
配置选项'显示高级选项'从1更改为1.运行RECONFIGURE语句进行安装。
配置选项' xp_cmdshell'从0更改为1.运行RECONFIGURE语句进行安装。
构面属性显示" XPCmdShellEnabled"
然而,当我执行
时EXEC master..xp_cmdshell 'dir c:'
我收到了错误消息
Msg 15281,Level 16,State 1,Procedure xp_cmdshell,Line 1
SQL Server阻止访问过程&sys; cx_cmdshell'组件' xp_cmdshell'因为此组件已作为此服务器的安全配置的一部分关闭。系统管理员可以启用' xp_cmdshell'通过使用sp_configure。有关启用' xp_cmdshell'的更多信息,请参阅" Surface Area Configuration"在SQL Server联机丛书中。
我所做的是来自Microsoft文档。为什么不起作用?
答案 0 :(得分:10)
让我们试试这个:禁用它,然后重新设置它。
--Disable
Use Master
GO
EXEC master.dbo.sp_configure 'xp_cmdshell', 0
RECONFIGURE WITH OVERRIDE
GO
EXEC master.dbo.sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
GO
-- Enable
Use Master
GO
EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO
EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
GO
答案 1 :(得分:3)