Rôle de base de données intégré dans SQL Server 2005 pour permettre l'exécution de procédures stockées?
Dans SQL Server 2005, on a construit des rôles:
db_datareader
db_datawriter
etc.
Est-il un rôle qui permet à un utilisateur d'exécuter une procédure stockée?
Je ne veux pas utiliser db_owner, parce que cela va permettre la suppression et la mise à jour je n'ai pas besoin. Les autorisations uniquement j'ai besoin sont:
SÉLECTIONNEZ
EXÉCUTER
source d'informationauteur frankadelic
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à ce l'article. Il peut vous donner une idée intéressante de le faire rapidement.
Code utilisé dans l'article:
Non, je ne crois pas qu'il y est une base de données ou un serveur de rôle, vous devez accorder l'autorisation d'exécution granulaire de l'utilisateur pour les procédures stockées.
Maintenant, si vous redémarrez SQL Server Management Studio, lorsque vous cliquez sur le "Mappage de l'Utilisateur" à la page dans la Sécurité->Connexions section, vous allez voir "db_executor" apparaissent dans la liste des rôles. Il suffit d'ajouter les utilisateurs ou vous pouvez le faire manuellement:
Pour étoffer la réponse, l'essentiel est de créer un rôle de base de données et attribuer des autorisations à ce rôle. Pour ce faire, vous avez besoin d'un peu de fantaisie SQL dynamique tels que:
Ce code accorde à EXÉCUTER des procédures stockées et des fonctions scalaires et SÉLECTIONNEZ défini par l'utilisateur des fonctions qui renvoient un type de TABLE.