Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

L'autorisation CONTROL doit-elle être accordée sur une procédure stockée dans SQL Server 2005 ?

Si la procédure stockée a été créée à l'aide de EXECUTE AS CALLER (qui, à mon avis, est la valeur par défaut), l'appelant doit disposer de toutes les autorisations nécessaires pour faire tout ce que fait la procédure stockée en plus de EXECUTE sur la procédure.

À partir de la documentation SQL Server pour EXECUTE AS :

Notez qu'en raison de la façon dont SQL Server traite les vérifications d'autorisation à l'aide de chaînes de propriété, ce n'est pas toujours strictement vrai, et je suppose que l'octroi de CONTROL sur la procédure (qui confère le statut de propriété au bénéficiaire) entraîne la vérification de ces autorisations. contourné.

Si vous créez la procédure avec EXECUTE AS OWNER, vous ne devriez pas avoir besoin d'accorder d'autorisations au-delà de EXECUTE sur la procédure.