Ich habe eine Testdatenbank, mit der ich Berechtigungsprobleme habe.
Ich kann nicht auf die Berichtsdatenbank zugreifen. In der Hilfedokumentation der Anwendung wird Folgendes angegeben:
Resolution:
1. Launch the SQL Server Management Studio and connect to the database server(s) hosting the Vision and Reporting Server databases.
2. Expand the security folder.
3. Select logins and right click on the <username> user and choose properties.
4. Click the User Mapping tab
5.Make sure the following databases are selected in the Users mapped to this Login:
ReportServer
ReportServerTempDB
Your Vision databases
This maps the login/user to the respective databases.
6. As you select each database (including your Vision database), select the db_owner role in the Database role membership for: section. You must select this option for each database.
Wenn ich das tue, erhalte ich die folgende Fehlermeldung:
"Create failed for user '<servername>\<username>'. User, group, or role '<servername>\<username>' already exists in the current database. (Microsoft SQL Server, Error: 15023)"
Ich habe diesen Fehler gegoogelt und den folgenden Befehl für jede Datenbank ausprobiert:
ALTER USER [<username>] WITH LOGIN = [<username>]
Die Meldung zeigte an, dass die Befehle erfolgreich ausgeführt wurden, aber der obige Fehler weiterhin angezeigt wird, wenn ich versuche, jede Datenbank wie oben beschrieben zuzuordnen.
Was vermisse ich?
Per Kins Kommentar (danke) Ich habe Folgendes versucht: - Ich habe mit der rechten Maustaste auf den Benutzer geklickt und Folgendes ausgewählt: Skriptanmeldung als> Ablegen und Erstellen in> Neues Abfragefenster. - Ich habe die resultierende Abfrage ausgeführt und versucht, die Benutzerrollen zuzuordnen, indem ich die beiden anderen Datenbanken und db_owner erneut auswählte. Es wird jedoch weiterhin die gleiche Fehlermeldung wie oben angezeigt.
Gedanken??
Ich benutze Auto_Fix mit
sp_change_users_login
in meiner dev Umgebung solche Probleme (Fehler 15023) zu beheben. Vermeiden Sie die Verwendung von Auto_Fix in sicherheitsrelevanten Situationen.Beachten Sie außerdem, dass dieses Feature möglicherweise in einer zukünftigen Version von Microsoft SQL Server entfernt wird.
Weitere Referenzen:
quelle
Ist der richtige Ansatz.
Ansonsten gehe zu:
Sicherheit> Anmeldungen> (Ihr Benutzername)> Eigenschaften> Benutzerzuordnung
und ordnen Sie diesen Benutzer der gewünschten Datenbank zu.
Sie können die folgende Abfrage im Kontext Ihrer Datenbank verwenden, um nach Waisen zu suchen:
quelle
Gehen Sie zur Master-Datenbank und löschen Sie den Benutzer
quelle