je reçois l'erreur suivante lors de l'appel d'une procédure stockée qui a un paramètre d'une valeur de table comme l'un des paramètresTableau des paramètres d'une valeur dans une procédure stockée obtient des autorisations d'exécution erreur niée par
L'autorisation EXECUTE
a été refusée sur l'objet « validationErrors '
validationErrors est un PVT créé avec la déclaration suivante:
CREATE TYPE [dbo].[ValidationErrors] AS TABLE(
[ErrorMessage] [varchar](255) NOT NULL
)
l'utilisateur exécute la procédure stockée a des privilèges d'exécution sur la procédure stockée. Cependant, j'ai toujours l'erreur ci-dessus. Des idées?
J'ai accordé la permission "contrôle" à l'objet et cela semble fonctionner correctement maintenant. L'ajout de "références" et de "définition de la vue" n'a pas aidé. Personnellement, je ne comprends pas l'exigence car il s'agit d'un type et généralement lorsque l'exécution de la procédure stockée est accordée, les objets référencés n'ont pas besoin d'autorisations spécifiques à accorder. Cependant, cela peut avoir quelque chose à voir avec le fait que l'utilisateur est dans le rôle "public". Des pensées? – chiefbrownbotom
Avez-vous essayé d'accorder des autorisations EXECUTE (au lieu du contrôle)? Peut-être vaut la peine d'essayer cela avant de recourir au contrôle – AdaTheDev
Je n'ai vu aucun endroit à accorder exécuter à partir du studio de gestion sql. J'ai seulement vu ceux que j'ai énumérés ci-dessus. Dois-je utiliser t-sql pour l'accorder? – chiefbrownbotom