4

Ich habe einige Berichte in SQL Server Reporting Services 2005, für die ich Audit-Protokolle aufbewahren muss. Das Überwachungsprotokoll sollte angeben, wer welchen Bericht mit welchen Parametern ausgeführt hat. Ich kann die Windows-Authentifizierung nicht verwenden.Wie gehen Sie mit Audit-Logging mit SSRS um?

Was ist der beste Weg, um diese Informationen zu protokollieren?

Antwort

2

Die vorherigen Kommentare waren absolut zutreffend, dass Sie die Daten aus der ReportServer ExecutionLog-Tabelle in SQL Server 2000/2005 oder der ExecutionLogStorage-Tabelle in SQL Server 2008 entfernen können. Wenn Sie stattdessen formularbasierte Authentifizierung verwenden Wenn Sie die Windows-Authentifizierung ausführen, werden wahrscheinlich einige eindeutige Benutzer-IDs, Unternehmens-IDs, Kunden-IDs oder andere Werte als Parameter in Ihren Berichten übergeben. Wenn dies der Fall ist, erfasst die integrierte Tabelle die Parameter bereits. Wenn Sie die eindeutige Benutzerkennung nicht als Parameter übergeben, müssen Sie sich wahrscheinlich darauf verlassen, dass Berichtsausführungen in Ihrer Anwendung selbst protokolliert werden.

2

in der Datenbank Reportserver einen Blick auf dem ExecutionLog Tisch. Dies enthält Informationen darüber, wer welchen Bericht mit welchen Parametern ausgeführt hat.

Ich bin mir nicht sicher, wie dies ohne Windows-Authentifizierung funktioniert, da es keine Möglichkeit gibt zu wissen, wer den Bericht ausführt.

0

Wenn Sie eine benutzerdefinierte Sicherheitserweiterung verwenden, können Sie immer noch alle benötigten Informationen aus der ExecutionLog-Tabelle abrufen. Wenn nicht alle Ihre Benutzer eine gemeinsame Anmeldung verwenden, müssen Sie natürlich Ihre Architektur überdenken, abhängig von der Wichtigkeit des Überwachungsprotokolls.