MSSQL Error User Group or Role Already Exists in the Current Database

Ist euch das schon einmal passiert, das ihr eine Datenbank wiederhergestellt habt und euch mit dem User nicht mehr anmelden konntet, mit dem ihr euch vorher angemeldet hattet? Auch ein Ändern der Berechtigungen für besagten User scheitert. Es kommt zu der Fehlermeldung (User, group, or role ‘username’ already exists in the current database (Microsoft SQL Server, Error: 15023).. Was also nun, wenn der Benutzer zwar existiert, aber nicht mehr benutzt werden kann? Im Netz hat dieses Problem schon den Namen ‚orphan user‘ bekommen. Das heißt soviel wie verweißter Benutzer.Der Befehl sp_change_users_login bietet hier Abhilfe. Wenn ihr auf der fehlerhaften Datenbank folgenden Befehl ausführt, dann wird euer ehemaliger Benutzer wieder „freigeschaltet“. Alles in allem ein sehr einfacher Fix.

sp_change_users_login 'AUTO_FIX', 'username'

Microsoft selbst erwähnt in seinen SQL Docs diesen Befehl nicht zu benutzen und auf ALTER USER umzusteigen. Es könnte sein, dass er in neueren MSSQL Releases entfernt wird. Bisher funktioniert er allerdings noch tadellos.

Mehr über den Befehl findet ihr hier:

https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-change-users-login-transact-sql?view=sql-server-2017

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.