Je souhaite accorder l'accès à une base de données pour une connexion SQL Server. Je connais sp_grantdbaccess, mais il est déprécié. Que puis-je utiliser à la place et comment puis-je vérifier si le login n'a pas déjà accès à la base de données?Octroi d'une connexion SQL Server Accès à une base de données - SQL Server
Scénario: UserA crée la base de données - dans sys.database_principals J'ai une entrée avec le nom dbo et avec le sid de UserA. J'essaie d'accorder à nouveau les permissions UserA: j'essaye de faire un select sur sys.database_principals par name = 'UserA', cependant puisque le nom est dbo not UserA, j'obtiens une erreur - 'Le login a déjà un compte sous un autre nom d'utilisateur . » Comment puis-je déterminer si l'utilisateur a un accès à la base de données sans le sid?
Si l'utilisateur dispose déjà d'un accès à la base de données, il renverra une erreur. Comment puis-je vérifier si l'utilisateur a un accès à la base de données? – kjv
Vous pouvez lancer une requête comme si elle n'existe pas (sélectionnez * dans sys.database_principals où name = 'bobuser') begin create user ... 'etc pour voir si elle existe en premier –