我创建了一个具有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
我的代理帐户是本地系统管理员帐户。
答案 0 :(得分:1)
我发现问题,因为用户无法在xp_cmdshell上执行而无法执行:
USE master
GRANT EXECUTE on xp_cmdshell to [mydomain\myAccount]
还找到了Article