Ich installiere SQL Reporting Services. Nach der Installation wurden die Datenbanken korrekt erstellt und die Benutzerberechtigungen zugewiesen. Außerdem wird eine Anmeldedomäne/ein Berichtskonto erstellt. Das Problem ist, dass ich beim Verbindungsversuch von Visual Studio aus dasselbe Konto verwenden möchte, aber beim Versuch habe ich Probleme mit einer anderen Art der Authentifizierung:
Windows-Authentifizierung, kein Konto ausgewählt > es ist OK, es wird mein beim Server angemeldetes Konto verwendet.
SQL-Authentifizierung> Domäne\Reportaccount > Anmeldung für Benutzer „Domäne\Reportaccount“ fehlgeschlagen (wenn ich mein Konto verwende, schlägt es auch fehl)
Active Directory-Passwortauthentifizierung> domain\reportaccount > Anmeldung für Benutzer fehlgeschlagen. (wenn ich mein Konto verwende, schlägt es auch fehl)
Active Directory integrierte Authentifizierung, kein Konto ausgewählt > Es ist OK
Interaktive Active Directory-Authentifizierung, domain\reportaccount > verlangt kein Passwort
Ich denke, ich sollte die SQL-Authentifizierung oder die integrierte Active Directory-Authentifizierung verwenden.
Meine Frage lautet: Warum schlägt das fehl, wenn ein Login erstellt wurde und die richtigen Berechtigungen in der Datenbank vorliegen?
Antwort1
Zuerst habe ich nach „Active Directoy Password Authentication“ gegoogelt, da ich noch nie davon gehört hatte. Es kam nichts dabei heraus, aber was dabei herauskam, war:
"AzurblauActive Directory-Passwortauthentifizierung"
Handelt es sich also um Tippfehler? Ich gehe mal davon aus, dass es welche sind und erkläre sie alle:
Windows-Authentifizierung– dies funktioniert, weil das Konto, mit dem Sie am Computer angemeldet sind, Zugriff hat.
SQL-Authentifizierung- Dies ist ein weit verbreitetes Missverständnis. Da Sie nach einem Benutzernamen und einem Passwort gefragt werden, denken die meisten Leute, dass sie hier ihre Windows-Konten eingeben können, aber so funktioniert es nicht. SQL hat seine eigene INTERNE Benutzerdatenbank, und wenn Sie SQL Auth verwenden, sucht es nach dem Benutzer in SQL selbst, nicht in AD. Sie haben dort noch keine Benutzer erstellt. Sehen Sie sich beispielsweise in SQL Studio nach „Benutzern“ um. Dann können Sie einen erstellenSQL"Benutzer" dort. Diesen Benutzer müssen Sie verwenden, wenn Sie diese Art der Authentifizierung verwenden. Windows- oder AD-Konten FUNKTIONIEREN NICHT.
AzurblauActive Directory-Passwortauthentifizierung- Azure AD ist nicht dasselbe wie normales AD. Es hat seine eigenen AD-Benutzer (die nicht dieselben sind wie die, die Sie in Ihrem lokalen AD haben). Microsoft ist dabei, „Azure AD“ in „Azure Entra“ umzubenennen, da dies zu großer Verwirrung führt, weil die Leute denken, es sei dasselbe wie ein lokales AD, was aber nicht der Fall ist.
Das Gleiche gilt für die anderen Methoden, bei denen ich davon ausgehe, dass alle Azure vor ihnen haben (soweit ich das gerade im Internet gelesen habe).
Antwort2
Wenn Sie die Windows-Authentifizierung wählen (grundsätzlich automatisch bei der Anmeldung bei Windows), bestehen nach der Anmeldung Vertrauensbeziehungen zwischen Ihrem Computer in Active Directory und Ihrem Benutzerkonto in Active Directory.
Ich glaube nicht, dass Sie Erfolg haben werden, wenn Sie andere Windows-Anmeldeinformationen verwenden, während Sie mit Ihrem Benutzerkonto angemeldet sind, zumindest nicht von einem MS-Produkt aus. Wenn Sie anderen Benutzern die Berechtigung erteilen, Ihre Berichte anzuzeigen, werden Sie feststellen, dass Edge, IE und andere MS-Produkte den angemeldeten Benutzer automatisch „kennen“, und diese Informationen entscheiden darüber, auf welche Assets sie Zugriff haben und welche Berechtigungen sie für diese Assets haben.
Um über Visual Studio auf SSRS (Reporting Services) zuzugreifen, können Sie sich mit dem Konto „domain\reportacct“ bei Ihrem Computer anmelden oder unter „Sicherheit“ in SQL Server Management Studio eine neue Anmeldung mit entsprechenden Berechtigungen einrichten, dann Visual Studio auf SQL Server-Authentifizierung umstellen und die von Ihnen erstellte Anmeldung verwenden.