Vérifiez si le rôle existe en DB?
Je veux ajouter des utilisateurs dans le même rôle dans plus d'une base de données. Cependant, le rôle peut/ne peut pas être présent dans l'ensemble de la base de données. Comment puis-je vérifier si le rôle existe dans la base de données et si elle ne ajouter des utilisateurs dans ce rôle?
par exemple
SI le rôle existe
COMMENCER
Ajouter un utilisateur dans le rôle
FIN
Veuillez vous référer à ce lien. Probablement la même chose que vous êtes à la recherche pour les stackoverflow.com/questions/1201160/...
Double Possible de Comment puis-je déterminer si un rôle de base de données existe dans SQL Server?
Double Possible de Comment puis-je déterminer si un rôle de base de données existe dans SQL Server?
OriginalL'auteur sanjeev40084 | 2010-02-02
Vous devez vous connecter pour publier un commentaire.
essayer:
OriginalL'auteur Yada
OriginalL'auteur Aaron Bertrand
Je ne peux pas commenter pourtant, j'ai donc de l'ajouter comme une réponse.
Je tiens à être aussi précis que possible, c'est pourquoi je préfère y compris le type principal. C'est pourquoi j'ai jusqu'a voté Aaron réponse.
À l'aide de DATABASE_PRINCIPAL_ID pourrait donner des résultats inattendus si il y a un autre type avec le même nom que le rôle que vous souhaitez ajouter. C'est parce que DATABASE_PRINCIPAL_ID renvoie le numéro d'identification d'un principal dans la base de données actuelle, pas spécialement pour un mandant avec un type de rôle de base de données.
Disons que vous avez un utilisateur avec le même nom que le rôle de base de données. Le statut de Yada du script d'indiquer la réussite, mais il ne serait pas ajouter le rôle parce qu'il existe déjà un principal avec ce nom. Cependant, Aaron script renvoie l'erreur suivante:
Je préfère attraper cette question dès le début (par exemple, lorsque le script est exécuté) que plus tard (par exemple, lorsque mon application est en cours d'utilisation).
Voici ce que j'avais l'utiliser normalement:
Si j'ai vraiment envie de gérer ce scénario et ne montrent pas une erreur, j'ai pu utiliser quelque chose comme ceci:
OriginalL'auteur timb
Pour spécifier la base de données que vous créez le rôle que vous devez utiliser
ensuite, vous pouvez continuer Yada est la réponse à tout et il sera comme ceci
OriginalL'auteur mohammad ha