Quel appartenance à un rôle de base de données accorde l'autorisation d'exécuter toutes les procédures stockées existantes dans SQL Server 2012?
J'ai essayé d'ajouter un utilisateur à chacun d'eux et je ne parviens toujours pas à exécuter une procédure stockée. Je ne veux pas accorder EXECUTE
pour chaque procédure stockée séparément, je veux ajouter l'utilisateur à un rôle et il pourra exécuter n'importe lequel d'entre eux.
Si vous utilisez des schémas autres que le schéma dbo
par défaut, créez un rôle de base de données par schéma et accordez EXECUTE
sur le schéma au rôle.
par exemple. Pour le schéma dbo
par défaut:
CREATE ROLE role_exec_dbo
GO
GRANT EXECUTE ON SCHEMA::dbo to role_exec_dbo
GO
Pour un nouveau schéma:
CREATE SCHEMA mySchema
GO
CREATE ROLE role_exec_mySchema
GO
GRANT EXECUTE ON SCHEMA::mySchema to role_exec_mySchema
GO
Aucun par défaut.
Créez un nouveau rôle et accordez-lui l'exécution. Cela devrait également couvrir les proc stockés créés à l'avenir.