2013-05-27 3 views
0

J'ai un utilisateur du serveur SQL, proxyAccount, que je configuré comme xp_cmdshell_proxy_accountprocédure stockée avec EXECUTE AS ne peut pas exécuter xp_cmdshell

Dans une procédure stockée J'utilise xp_cmdshell, et quand j'exécute la procédure stockée avec ce compte, Tout fonctionne bien.

Cependant, si j'ajoute:

WITH EXECUTE AS 'proxyAccount' 

à la procédure stockée, je reçois l'erreur suivante quand je l'exécute:

Les informations du compte proxy xp_cmdshell ne peut pas être récupéré ou est invalide. Vérifiez que les informations d'identification '## xp_cmdshell_proxy_account ##' existent et contiennent des informations valides.

Quel pourrait être le problème? Pourquoi ne peut pas proxyAccount exécuter xp_cmdshell lorsqu'il est défini sur EXECUTE AS, mais être en mesure de l'exécuter autrement?

Répondre

0

Le problème a été résolu par les étapes suivantes:

  1. Créer un nouveau compte qui utilise l'authentification Windows (ne pas utiliser l'authentification SQL Server)
  2. Définir ce nouveau compte à xp_cmdshell proxy
  3. Grant xp_cmdshell permission à l'ancien proxyAccount
Questions connexes