我创建了一个具有系统管理员访问权限的代理帐户。用户使用它来执行他们选择的 bcp 命令。
但是,当用户想要执行他们得到的过程时:对象'xp_cmdshell',数据库'mssqlsystemresource',模式'sys'的EXECUTE权限被拒绝
这是我的过程:
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
我的代理帐户是本地系统管理员帐户。