SQL Server 2005 - l'Octroi de l'autorisation de créer des procédures stockées (mais pas d'autres objets)
Je veux accorder à un utilisateur l'autorisation de créer, modifier et exécuter des procédures stockées, mais sans la capacité de créer d'autres objets de base de données. J'exclus de la rôle db_ddladmin, mais explicitement accordé les autorisations de "Créer de la procédure" et "Exécuter". Ces permssions apparaissent dans la liste des autorisations. Cependant, lorsque j'essaie de créer une procédure stockée avec cette connexion, j'obtiens l'erreur suivante:
"Le nom de schéma spécifié "dbo" n'existe pas ou vous n'avez pas la permission de les utiliser."
Des suggestions?
OriginalL'auteur user17777 | 2008-10-22
Vous devez vous connecter pour publier un commentaire.
Un utilisateur peut créer des procédures dans un schéma qu'ils possèdent. De sorte que vous pouvez mettre en place un schéma pour l'utilisateur de faire le travail de développement. Ensuite, si elle a besoin d'être dbo, l'administrateur peut le mettre là lorsque le développement est terminé.
OriginalL'auteur ScottStonehouse
Si vous pouvez créer (ou modifier) et exécuter une procédure stockée, vous pouvez faire quelque chose.
Exécuter une procédure stockée implique toutes les autres autorisations dans le cadre de cette procédure. Donc, si vous pouvez modifier une procédure et l'exécuter, il n'y a aucun point dans la restriction de quelque chose d'autre. Vous pourriez juste faire la procédure d'agir comme un proxy sur votre nom.
Dans SQL Server, il est seulement dangereux si l'utilisateur peut créer des procédures stockées dans un schéma appartenant à un autre utilisateur. Procédures stockées exécuter sous l'identité de l'appelant, ou le propriétaire (de votre choix), et de supprimer les autorisations de vérification à d'autres objets appartenant à la procédure stockée propriétaire. Ainsi, un utilisateur de schéma est fiable bac à sable.
OriginalL'auteur Joel Coehoorn