164 votes

GRANT EXECUTE à toutes les procédures stockées

La commande suivante donne-t-elle effectivement à l'utilisateur, "MyUser", le droit d'exécuter TOUTES les procédures stockées dans la base de données?

 GRANT EXECUTE TO [MyDomain\MyUser]
 

273voto

Antony Scott Points 7890

SQL Server 2008 et supérieur:

 /* CREATE A NEW ROLE */
CREATE ROLE db_executor

/* GRANT EXECUTE TO THE ROLE */
GRANT EXECUTE TO db_executor
 

Pour juste un utilisateur (pas un rôle):

 USE [DBName]
GO
GRANT EXECUTE TO user
 

76voto

Robin M Points 3307

SQL Server 2005 a introduit la possibilité d' octroi de la base de données des autorisations d'exécution à un principe de base de données, comme vous l'avez décrit:

GRANT EXECUTE TO [MyDomain\MyUser]

Qui accorde l'autorisation à la base de données étendue, qui comprend implicitement toutes les procédures stockées dans tous les schémas. Cela signifie que vous n'avez pas explicitement d'accorder des autorisations par la procédure stockée.

Vous pouvez également limiter la recherche par l'octroi de schéma autorisations d'exécution si vous voulez être plus précis:

GRANT EXECUTE ON SCHEMA ::dbo TO [MyDomain\MyUser]

18voto

Matt Points 3445

Outre les réponses ci-dessus, je tiens à ajouter:

Vous pourriez accorder à un rôle à la place, puis attribuer le rôle de l'utilisateur(s). CREATE ROLE [myAppRights] et GRANT EXECUTE TO [myAppRights] le fait.

GRANT EXECUTE ON SCHEMA ::dbo TO [myAppRights] fonctionne aussi, si vous voulez le faire sur le schéma.

De cette façon, vous n'avez qu'à le faire une fois et peut affecter/ou de révoquer les droits d'application facilement à partir d'un utilisateur si vous avez besoin de changer cela plus tard sur - particulièrement utile si vous souhaitez créer plus complexe des profils d'accès.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X