4

Je souhaite accorder à un utilisateur la permission de créer, de modifier et d'exécuter des procédures stockées, mais sans pouvoir créer d'autres objets de base de données. Je les ai exclus du rôle db_ddladmin, mais j'ai explicitement accordé les permissions "Create procedure" et "Execute". Ces permissions apparaissent dans la liste des autorisations effectives. Toutefois, lorsque j'essaye de créer une procédure stockée avec ce login, j'obtiens l'erreur suivante:SQL Server 2005 - Autorisation de créer des procédures stockées (mais aucun autre objet)

"Le nom de schéma spécifié" dbo "n'existe pas ou vous n'avez pas l'autorisation de l'utiliser."

Des suggestions?

Répondre

2

Si vous pouvez créer (ou modifier) ​​et exécuter une procédure stockée, vous pouvez faire n'importe quoi.

L'exécution sur une procédure stockée implique toutes les autres autorisations dans le contexte de cette procédure. Donc, si vous pouvez changer une procédure et l'exécuter, il n'y a aucune raison de restreindre quoi que ce soit d'autre. Vous pouvez simplement faire en sorte que la procédure agisse en tant que mandataire en votre nom.

+0

Ce n'est pas très bon. D'autres SGBD vous permettent de créer des procédures stockées sans avoir nécessairement l'autorité de créer d'autres types d'objets tels que des tables. Vous ne pouvez pas créer une procédure stockée pour faire des choses pour lesquelles vous n'avez pas d'autorisations. Ainsi, par exemple, vous pouvez donner à quelqu'un l'autorité de créer une procédure stockée pour lire ou mettre à jour des tables dans la base de données, mais il ne pourra pas créer des tables ou créer une procédure stockée pour supprimer toutes les tables dans la base de données. base de données. –

5

Un utilisateur peut créer des procédures dans un schéma qu'il possède. Vous pouvez donc configurer un schéma pour que l'utilisateur fasse du travail de développement. Ensuite, si cela doit être dbo, l'administrateur peut le mettre là quand le développement est terminé.

+1

D'accord. Créez un nouveau schéma dans lequel les utilisateurs pourront créer leurs sprocs. Accordez-leur l'accès à ce schéma, et vous devriez être prêt à partir! –

Questions connexes