DBAtlas · Atlas für Datenbankbetrieb

916: The server principal is not able to access the database under the current security context

SQL Server

Was bedeutet das?

Ein Login wollte auf eine bestimmte Datenbank zugreifen, hat im aktuellen Sicherheitskontext aber keinen Zugriff darauf. Das Login kann sich mit dem Server verbinden, hat in der Zieldatenbank aber keinen zugehörigen Benutzer bzw. keine Berechtigung.

Ursache

Das Login hat in der Datenbank keinen zugeordneten Benutzer (verwaist oder nie angelegt), der Datenbankzugriff ist eingeschränkt, oder das Gastkonto ist deaktiviert. Ein häufiger Fall ist der SSMS-Objekt-Explorer, der Metadaten einer Datenbank lesen will, auf die das Login keinen Zugriff hat.

Lösung

Lege in der Zieldatenbank einen Benutzer für das Login an und erteile die nötigen Berechtigungen: USE [db]; CREATE USER [login] FOR LOGIN [login]; und weise die passenden Rollen/Berechtigungen zu. Gibt es einen verwaisten Benutzer, ordne ihn mit ALTER USER ... WITH LOGIN = ... zu. Wird der Zugriff wirklich benötigt, füge ihn der passenden Datenbankrolle hinzu; andernfalls ist der Fehler das erwartete Verhalten (kein Zugriff auf diese Datenbank).

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank