0

我有一个 sql server 用户proxyAccount,我将其配置为xp_cmdshell_proxy_account

在我使用的存储过程xp_cmdshell中,当我使用此帐户执行存储过程时,一切正常。

但是,如果我添加:

WITH EXECUTE AS 'proxyAccount'

到存储过程,执行时出现以下错误:

xp_cmdshell 代理帐户信息无法检索或无效。验证“##xp_cmdshell_proxy_account##”凭据是否存在并包含有效信息。

可能是什么问题?为什么proxyAccount设置为EXECUTE AS时不能运行xp_cmdshell,否则可以运行?

4

1 回答 1

0

通过以下步骤解决了该问题:

  1. 创建使用 Windows 身份验证的新帐户(不使用 SQL Server 身份验证)
  2. 将此新帐户设置为 xp_cmdshell 代理
  3. 向旧的proxyAccount授予 xp_cmdshell 权限
于 2013-05-27T12:36:17.930 回答