Je dois vérifier si un login spécifique existe déjà sur le serveur SQL, et s'il n'existe pas, je dois l'ajouter.
J'ai trouvé le code suivant pour ajouter le login à la base de données, mais je veux l'intégrer dans une instruction IF (d'une manière ou d'une autre) pour vérifier d'abord si le login existe.
CREATE LOGIN [myUsername] WITH PASSWORD=N'myPassword',
DEFAULT_LANGUAGE=[us_english],
CHECK_EXPIRATION=OFF,
CHECK_POLICY=OFF
GO
Je comprends que je dois interroger une base de données système, mais je ne sais pas par où commencer !
10 votes
Il s'agit d'une question importante, mais telle qu'elle est formulée, elle semble omettre une distinction importante : utilisateur vs. connexion. Le duplicata potentiel auquel Jon a fait référence semble vraiment concerner les utilisateurs. Cette question mentionne "utilisateur" dans le titre, mais traite des connexions dans le code de la question et dans la réponse acceptée. J'ai modifié le titre et la question en conséquence.
1 votes
Juste pour ajouter au commentaire de @LarsH, logins sont associés à une instance du serveur SQL, et utilisateurs sont associés à une base de données spécifique. Les utilisateurs de la base de données peuvent être créés à partir des connexions au serveur, de sorte qu'ils ont accès à une base de données spécifique. Voir cet excellent article et en fait toute la série dont il fait partie (Stariway to SQL Server Security)