xp_cmdshell代理不执行

时间:2013-02-19 07:36:26

标签: sql-server xp-cmdshell

我创建了一个具有Sysadmin访问权限的代理帐户。 用户使用它来执行他们选择的bcp命令。

然而,当用户想要执行proc时,他们得到:对象'xp_cmdshell',数据库'mssqlsystemresource',架构'sys'

上的EXECUTE权限被拒绝

这是我的Proc:

CREATE PROCEDURE spCMDProxy 

( 
@SQLSTATEMENT VARCHAR(1000), 
@FILENAME VARCHAR(1000) 

) 
WITH ENCRYPTION 
AS 
BEGIN 
DECLARE @PrepStatement VARCHAR(1000) 
SET @PrepStatement = 'bcp ' + '"'+ @SQLSTATEMENT + '" queryout C:\SamsungEDI\' + @FILENAME + ' -U************ -P************ -c -t"||" -S UECZAERP01' 
EXEC xp_cmdshell @PrepStatement 
END 

我的代理帐户是本地系统管理员帐户。

1 个答案:

答案 0 :(得分:1)

我发现问题,因为用户无法在xp_cmdshell上执行而无法执行:

USE master
GRANT EXECUTE on xp_cmdshell to [mydomain\myAccount]

还找到了Article