Der Zugriff auf die SQL Server-Datenbank schlägt fehl, wenn dem Benutzer der Zugriff über die Domänengruppe gewährt wird

Der Zugriff auf die SQL Server-Datenbank schlägt fehl, wenn dem Benutzer der Zugriff über die Domänengruppe gewährt wird

Auf einem SQL Server 2008 R2 (läuft unter Win2003) haben wir ein Problem mit Anmeldungen über Domänengruppen – der Anmeldezugriff auf die Serverinstanz wird gewährt, kann aber nicht auf bestimmte Datenbanken auf dem Server zugreifen.

Der SQL-Server-Rechner ist Mitglied unserer AD-Domäne, aber kein Domänencontroller. Wir verwenden die Windows-Authentifizierung auf dem SQL-Server.

Wir erstellen SQL Server-Anmeldungen für Domänengruppen. Wir legen die Benutzerzuordnungen für eine Datenbank XXX auf diesem Server fest und aktivieren die Rollen datareader, datawriter und ddladmin. Was dann passiert, ist Folgendes: Die Domänenbenutzer, die Mitglieder dieser Gruppen sind, können sich mit dem SQL Server verbinden, aber nicht mit dieser Datenbank XXX. Wenn Benutzer „user1“ versucht, sich zu verbinden, erhält er die Fehlermeldung „Die vom Login angeforderte Datenbank ‚XXX‘ kann nicht geöffnet werden. Der Login ist fehlgeschlagen. Der Login für Benutzer ‚domain\user1‘ ist fehlgeschlagen.“

Wenn ich „Domäne\Benutzer1“ manuell zur Datenbank XXX hinzufüge und die Rollen „Datareader“ und „Datawriter“ aktiviere, hat Benutzer1 keine Probleme mit der Verbindung.

Interessanterweise kann sich Benutzer1 mit zwei anderen Datenbanken auf demselben Server verbinden – auch hier über eine AD-Domänengruppe, aber eine andere, zuvor erstellte Gruppe, und der Benutzer ist NICHT einzeln als Benutzer für diese Datenbanken eingerichtet. Diese Datenbanken wurden beide per Detach-Attach von einer älteren SQL Server 2005-Installation kopiert und funktionierten unter SQL-2005 einwandfrei und funktionieren jetzt auch auf diesem SQL-2008 R2-Server einwandfrei. (Sie zeigen in den DB-Eigenschaften dasselbe Benutzerkonto als Eigentümer an wie die problematische Datenbank XXX.)

Datenbank XXX ist eine neue Datenbank, die auf diesem R2-Server erstellt wurde, und die AD-Domänengruppe ist ebenfalls neu.

Ich kann die Benutzer vorerst als Workaround manuell hinzufügen, aber das wird nicht ewig funktionieren und ich brauche einen Hinweis, was hier schief läuft. Zusätzliche Daten – der SQL Server-Dienst läuft auf einem Domänenadministratorkonto.

Ich habe einen Artikel gefunden, der genau dasselbe Problem für SQL Server 2005 beschreibt:https://connect.microsoft.com/SQLServer/feedback/details/248615/login-fails-when-user-is-granted-access-via-a-domain-group Das ist aber von 2006, enthält keinen Hinweis auf eine Lösung und man sollte davon ausgehen, dass das Problem behoben wurde.

Antwort1

Ganz nebenbei: Das Ausführen von SQL Server als Domänenadministrator ist nicht die beste Vorgehensweise. Sie sollten erwägen, SQL als nicht privilegierter Domänenbenutzer auszuführen.

Was die Benutzer betrifft, die auf per Trennen/Anfügen verschobene Datenbanken zugreifen können: SIDs werden mit der Datenbank verschoben.

Wenn ich aufgrund des Verhaltens raten müsste, würde ich entweder sagen, dass SQL Probleme bei der Ermittlung der Gruppenmitgliedschaft hat oder dass die Berechtigungen für die Datenbanken selbst fehlen.

Möglicherweise möchten Sie SELECT * FROM sys.database_principalsweitere Informationen zu Ihren spezifischen Datenbanken abrufen und sicherstellen, dass Ihre Domänengruppe vorhanden ist.

Antwort2

Wenn ich raten müsste, würden Ihre Benutzer sich nicht ab- und wieder anmelden, nachdem sie der Gruppe hinzugefügt wurden, die Sie als eSQL-Anmeldung verwenden. Das Zugriffstoken eines Benutzers wird erst dann mit der neuen Gruppenmitgliedschaft aktualisiert, wenn sich der Benutzer an seiner Arbeitsstation ab- und wieder anmeldet. Dies würde erklären, warum ältere Gruppen funktionieren, die neue, die Sie testen, jedoch nicht.

verwandte Informationen