Die dem Benutzer erteilten Berechtigungen reichen nicht aus, um diesen Vorgang auszuführen. (rsAccessDenied) "}

99

Ich habe ein Berichtsmodell mit SSRS (2005) erstellt und auf dem lokalen Server veröffentlicht. Als ich jedoch versuchte, den Bericht für das Modell auszuführen, das ich mit dem Berichts-Generator veröffentlicht habe, wird der folgende Fehler angezeigt.

Fehler bei der Berichtsausführung: Die dem Benutzer erteilten Berechtigungen reichen nicht aus, um diesen Vorgang auszuführen. (rsAccessDenied)

jbcedge
quelle
Ich fand das hilfreich ... msdn.microsoft.com/en-GB/library/bb630430.aspx Windows geht davon aus, dass jeder ein Standardbenutzer ist ...
Trabumpaline

Antworten:

94

Aufgrund mangelnder Berechtigungen für den Benutzer, den Sie für den Berichts-Generator ausführen, geben Sie diesem Benutzer oder einer Gruppe lediglich die Berechtigung zum Ausführen des Berichts-Generators. Bitte besuchen Sie diesen Artikel

Oder für die Verknüpfung:

  1. Starten Sie den Internet Explorer mit "Als Administrator ausführen".
  2. Öffnen Sie http: // localhost / reports
  3. Wechseln Sie zur Registerkarte Eigenschaften (SSRS 2008).
  4. Sicherheit-> Neue Rollenzuweisung
  5. Fügen Sie DOMAIN / USERNAME oder DOMAIN / USERGROUP hinzu
  6. Überprüfen Sie den Berichts-Generator
Emad Mokhtar
quelle
8
Ich bin mir nicht sicher, ob es 2012 spezifisch ist, aber ich musste die Sicherheit auch in den „Site-Einstellungen“ einrichten.
uli78
14
Richten Sie für 2014 die Rollen sowohl in "Ordnereinstellungen" als auch in "Site-Einstellungen" ein
Josh Noe
4
Eine Sache aus dem Artikel, die Ihnen helfen kann: Konfigurieren Sie die Verwendung von IE und "Als Administrator ausführen". Gehen Sie dann zu Ordnereinstellungen (legen Sie sich als Content Manager fest) und zu Site-Einstellungen (Rolle: Administrator). Kehren Sie dann zu Ihrem Standardbrowser zurück, und es wird funktionieren. (Ich bin auf 2012).
Tomasz Gandor
4
Ich musste DOMAIN \ USERNAME anstelle eines Schrägstrichs verwenden.
Paul
4
In Schritt 2 fehlgeschlagen. Ich habe folgende Meldung erhalten: Der Benutzer hat keine erforderlichen Berechtigungen. Stellen Sie sicher, dass ausreichende Berechtigungen erteilt wurden und die Einschränkungen der Windows-Benutzerkontensteuerung (UAC) behoben wurden.
RDeveloper
18

Ich weiß, dass es schon lange her ist, aber Sie (oder andere Neuankömmlinge) können dieses Problem durch beheben

  1. Fügen Sie die [Domäne \ Benutzer] zu den Gruppen Administrator , IISUser und SQLReportingUser hinzu
  2. Löschen Sie den Verschlüsselungsschlüssel in den SSRS-Konfigurationstools
  3. Führen Sie die Datenbankänderung in den SSRS-Konfigurationstools erneut aus
  4. Öffnen Sie WebServiceUrl über die SSRS-Konfigurationstools ( http: // localhost / reportserver ).
  5. Manuelles Erstellen eines Berichtsordners
  6. Gehen Sie zu Eigenschaften des erstellten Ordners und fügen Sie diese Rollen zur Sicherheit hinzu ( integriert \ Benutzer, integriert \ Administrator, Domäne \ Benutzer ).
  7. Stellen Sie Ihre Berichte bereit und Ihr Problem ist behoben
Nasser Hadjloo
quelle
2
Hallo, das Problem bei mir ist, dass alle Berichte bis auf einen funktionieren. Fehler ist: Die Berechtigungen, die dem Benutzer 'NT AUTHORITY \ IUSR' erteilt wurden, reichen nicht aus, um diesen Vorgang auszuführen. (rsAccessDenied). Welchen Unterschied kann es für einen Bericht geben?
Richa
5
Ich habe nicht einmal diese Gruppen! Ich habe Administrators, IIS_IUSRS, SQLServer2005SQLBrowserUser$Userstatt! Was mache ich in diesem Fall? Wie oft ändern sich diese Dinge! : o
user2173353
18

Klicken Sie mit der rechten Maustaste auf Microsoft BI -> Klicken Sie auf Als Administrator ausführen -> öffnen Sie entweder Ihren vorhandenen SSRS-Bericht oder erstellen Sie Ihren neuen SSRS-Bericht und stellen Sie Ihren Bericht bereit. Danach erhalten Sie eine Web-URL, um Ihren Bericht anzuzeigen. Kopieren Sie diese URL und fügen Sie sie in den Webbrowser ein (Als Administrator ausführen). Sie erhalten dann Ihre Berichtsansicht. Sie können den Internet Explorer verwenden, der für den Webdienst unerlässlich ist

Wenn es falsch bedeutet, bitte vergib mir, da mir das gefallen hat, so dass ich gerade geschrieben habe.

Robert Bosco
quelle
2
Das Starten von Visual Studio (BI) als Administrator (Rechtsklick) hat den Trick für mich erledigt.
Maets
10

Stellen Sie sicher, dass Sie mithilfe der SQL Reporting Services-Konfiguration Zugriff auf die URL http: // localhost / reports konfiguriert haben. Um dies zu tun:

  1. Öffnen Sie Reporting Services Configuration Manager -> stellen Sie eine Verbindung zur Berichtsserverinstanz her -> und klicken Sie dann auf Report Manager-URL.
  2. Klicken Sie auf der Seite URL des Berichts-Managers auf die Schaltfläche Erweitert -> und dann im Bereich Mehrere Identitäten für den Berichts-Manager auf Hinzufügen.
  3. Wählen Sie im Popup-Fenster "HTTP-URL für Berichtsmanager hinzufügen" die Option "Host-Header" aus und geben Sie Folgendes ein: localhost
  4. Klicken Sie auf OK, um Ihre Änderungen zu speichern.
  5. Starten / führen Sie jetzt Internet Explorer mit "Als Administrator ausführen" aus ... (HINWEIS: Wenn Sie den Link "Site-Einstellungen" in der oberen linken Ecke unter http: // localhost / reports nicht sehen , liegt dies wahrscheinlich daran, dass Sie dies nicht tun Wenn Sie den IE als Administrator ausführen oder den Berichtsdienstrollen nicht die Domäne \ Benutzername 'Ihres Computers zugewiesen haben, erfahren Sie in den nächsten Schritten, wie dies funktioniert.)
  6. Gehen Sie dann zu: http: // localhost / reports (möglicherweise müssen Sie sich mit dem Benutzernamen und dem Kennwort Ihres Computers anmelden)
  7. Sie sollten jetzt hier zur Startseite von SQL Server Reporting Services weitergeleitet werden: http: //localhost/Reports/Pages/Folder.aspx
  8. Klicken Sie auf der Startseite auf die Registerkarte Eigenschaften und dann auf Neue Rollenzuweisung
  9. Fügen Sie im Textfeld Gruppe oder Benutzername die 'Domäne \ Benutzername' hinzu, die in der Fehlermeldung enthalten war (in meinem Fall habe ich Folgendes hinzugefügt: DOUGDELL3-PC \ DOUGDELL3 für die 'Domäne \ Benutzername'. In Ihrem Fall finden Sie die Domäne \ Benutzername für Ihren Computer in der Fehlermeldung rsAccessDenied).
  10. Aktivieren Sie nun alle Kontrollkästchen. Browser, Inhaltsmanager, Meine Berichte, Publisher, Berichts-Generator, und klicken Sie dann auf OK.
  11. Ihre Domäne \ Benutzername sollte jetzt den Rollen zugewiesen werden, über die Sie Zugriff auf die Bereitstellung Ihrer Berichte auf dem Berichtsserver erhalten. Wenn Sie Visual Studio oder SQL Server Business Intelligence Development Studio verwenden, um Ihre Berichte auf Ihrem lokalen Berichtsserver bereitzustellen, sollten Sie dies jetzt können.
  12. Hoffentlich hilft Ihnen dies dabei, die Fehlermeldung "Reports Server rsAccessDenied" zu beheben ...

Nur um Ihnen mitzuteilen, dass dieses Lernprogramm auf einem Windows 7-Computer mit SQL Server Reporting Services 2008 durchgeführt wurde.

Referenzartikel: http://techasp.blogspot.co.uk/2013/06/how-to-fix-reporting-services.html

Soheila Hg
quelle
2
Beachten Sie, dass von Antworten nur mit Links abgeraten wird. SO-Antworten sollten der Endpunkt einer Suche nach einer Lösung sein (im Vergleich zu einem weiteren Zwischenstopp von Referenzen, die im Laufe der Zeit veralten). Bitte fügen Sie hier eine eigenständige Zusammenfassung hinzu, wobei Sie den Link als Referenz behalten.
Kleopatra
6

Sie können auch sicherstellen, dass die Identität in Ihrem Anwendungspool über die richtigen Berechtigungen verfügt.

  1. Wechseln Sie zum IIS-Manager

  2. Klicken Sie auf Anwendungspools

  3. Identifizieren Sie den Anwendungspool der Site, auf der Sie Berichte bereitstellen

  4. Überprüfen Sie, ob die Identität auf ein Dienstkonto oder Benutzerkonto mit Administratorrechten festgelegt ist

  5. Sie können die Identität ändern, indem Sie den Pool stoppen, mit der rechten Maustaste darauf klicken und Erweiterte Einstellungen auswählen ...

Unter Prozessmodell befindet sich das Feld Identität

Kasey Mohsen
quelle
1
Auf einem Windows 2008 R2-Server musste ich außerdem Folgendes tun. Für mich funktionierte Open IE im Admin-Modus, dh Right Clikc IE -> Als Administartor ausführen. Navigieren Sie dann zu http: // {your baseurl}: {your base port} / Reports / Für mich ist es devsql2008r2: 80 / Reports Dies hat meinen Fehler behoben. Chrome oder Firefox können noch nicht geöffnet werden.
Vishnoo Rath
Mit anderen Worten: Diese Antwort würde ein Szenario beheben, in dem Ihre benutzerdefinierte App, die versucht, SSRS aufzurufen, wie UserAin der AppPool-Identität ausgeführt wird. Dies UserAist jedoch auf dem SSRS-Server NICHT für den Zugriff konfiguriert (z. B. nicht in der BUILTIN\AdministratorsGruppe). Das Update besteht also darin, die AppPool-Identität in einen Administratorbenutzer in der Domäne zu ändern. Oder aktualisieren Sie die SSRS-Einstellungen, um den aktuellen AppPool Identity-Benutzer einzuschließen.
Don Cheadle
5

Klicken Sie unter Site-Einstellung im Berichts-Manager> Rollendefinitionen auf Systemebene konfigurieren> Aktivieren Sie die Option ExecuteReport-Definition und erstellen Sie dann eine Systembenutzergruppe. Geben Sie den Zugriff auf diese Gruppe unter Verbinden mit Ihrer Reporting Services-Datenbank in den Servereigenschaften zu, fügen Sie eine Gruppe hinzu und erlauben Sie den Zugriff als Systembenutzer ... Es sollte funktionieren

Kamal
quelle
5

Ich habe SQL2008 / Windows 2008 Enterprise und musste Folgendes tun, um die rs.accessdeniedFehler 404, 401 und 503 zu korrigieren:

  • NT-Benutzer zu SQL Report Server-Benutzern und zur IIS_USR-Gruppe hinzugefügt
  • Ich habe den SQL Reporting Service in ein lokales Konto geändert (es war eine Domäne mit lokalem Administrator).
  • Ich habe den Verschlüsselungsschlüssel in der Reporting Services-Konfiguration gelöscht (letzte Registerkarte in der Liste).
  • und dann hat es funktioniert.
Grant Thomas
quelle
5

Ich habe die folgenden Schritte ausgeführt und es funktioniert für mich.

Öffnen Sie Reporting Services Configuration Manager -> stellen Sie eine Verbindung zur Berichtsserverinstanz her -> und klicken Sie dann auf Report Manager-URL.

Klicken Sie auf der Seite URL des Berichts-Managers auf die Schaltfläche Erweitert -> und dann im Bereich Mehrere Identitäten für den Berichts-Manager auf Hinzufügen.

Wählen Sie im Popup-Fenster "HTTP-URL für Berichtsmanager hinzufügen" die Option "Host-Header" aus und geben Sie Folgendes ein: localhost Klicken Sie auf "OK", um Ihre Änderungen zu speichern.

Dann:

  1. kopierte die URL des Berichtsservers
  2. Führen Sie Google Chrome / Internet Explorer als Administrator aus
  3. Fügen Sie die URL in die Adressleiste ein und drücken Sie die Eingabetaste.

Es funktioniert gut für mich in Internet Explorer und Google Chrome, aber nicht für Mozilla Firefox.

Wenn Firefox nach Benutzername und Passwort fragt, gebe ich es an, aber es funktioniert nicht. Ich bin Administrator und habe volles Recht.

Ich habe 1 weiteren Änderungssatz "Benutzerkontensteuerungseinstellungen" vorgenommen, um niemals zu benachrichtigen.

Wenn beim Bereitstellen dieses Berichts in Visual Studio eine solche Ausnahme auftritt, gehen Sie wie folgt vor:

  1. Öffnen Sie Google Chrome / Internet Explorer mit Administratorrecht.
  2. Öffnen Sie die URL des Berichtsservers.

3.Klicken Sie auf "Neue Rollenzuweisung", geben Sie den Benutzernamen ein und wählen Sie die Rollen aus.Geben Sie hier die Bildbeschreibung ein

  1. OK klicken.
  2. Stellen Sie nun den Bericht in Visual Studio bereit, damit er funktioniert, und stellen Sie die Berichte auf dem angegebenen Server bereit.
Banketeshvar Narayan
quelle
4

Öffnen Sie den Internet Explorer als Administrator.

Öffnen Sie die Berichts-URL http://machinename/reportservername

Geben Sie dann in den Ordnereinstellungen die Berechtigung für die erforderlichen Benutzergruppen.

Atur
quelle
4

Altes aber relevantes Thema. Ich habe für 2012 gelöst, indem ich mich beim Berichtsserver angemeldet habe und:

  • Navigieren Sie zu http: // localhost / reports /
  • Klicken Sie oben rechts auf "Site-Einstellungen" (war nur verfügbar, wenn Sie sich beim Berichtsserver angemeldet haben).
  • Gehen Sie zur Registerkarte "Sicherheit" und klicken Sie auf "Neue Rollenzuweisung".
  • Mein DOMAIN \ USERNAME als Systemadministrator hinzugefügt

Ich kann nicht sagen, dass ich mit dieser Lösung zufrieden bin, aber ich brauchte etwas, das funktionierte und es funktionierte. Hoffe das hilft jemand anderem.

user2051770
quelle
4

Nach dem Einrichten von SSRS 2016 habe ich RDP auf den Server (Windows Server 2012 R2) übertragen, zur Berichts-URL ( https://reports.fakeserver.net/Reports/browse/ ) navigiert und einen Ordnertitel FakeFolder erstellt. alles schien gut zu funktionieren. Ich habe dann die Verbindung zum Server getrennt, zur gleichen URL navigiert, mich als derselbe Benutzer angemeldet und den folgenden Fehler festgestellt.

Die dem Benutzer 'fakeserver \ mitchs' erteilten Berechtigungen reichen nicht aus, um diesen Vorgang auszuführen.

Verwirrt habe ich so ziemlich jede auf dieser Seite vorgeschlagene Lösung ausprobiert und konnte beim Navigieren zur URL und bei der Authentifizierung immer noch nicht das gleiche Verhalten sowohl lokal als auch extern erzeugen. Ich habe dann auf die Auslassungspunkte von FakeFolder geklickt, auf Verwalten geklickt, auf Sicherheit geklickt (auf der linken Seite des Bildschirms) und mich als Benutzer mit vollständigen Berechtigungen hinzugefügt. Nachdem ich die Verbindung zum Server getrennt hatte, navigierte ich zu https://reports.fakeserver.net/Reports/browse/FakeFolder und konnte den Inhalt des Ordners anzeigen, ohne dass der Berechtigungsfehler auftrat. Als ich jedoch nach Hause klickte, erhielt ich den Berechtigungsfehler.

Für meine Zwecke war dies gut genug, da kein anderer jemals zur Stamm-URL navigieren muss. Daher habe ich mir nur eine mentale Notiz gemacht, wenn ich Änderungen in SSRS vornehmen muss, um zuerst eine Verbindung zum Server herzustellen und dann zur Berichts-URL zu navigieren .

Mitch Stewart
quelle
3

Problem:

Fehler rsAccessDenied: Die dem Benutzer 'User \ User' erteilten Berechtigungen reichen nicht aus, um diesen Vorgang auszuführen.

Lösung:

Klicken Sie auf "Ordnereinstellung"> "Neue Rollenzuweisung" und geben Sie "Benutzer \ Benutzer" in das Textfeld "Gruppe oder Benutzername" ein. Aktivieren Sie die Kontrollkästchen Rollen, die der Benutzer haben soll.

Vicky
quelle
2

Was für mich funktioniert hat war:

Open localhost/reports
Go to properties tab (SSRS 2008)
Security->New Role Assignment
Add DOMAIN/USERNAME or DOMAIN/USERGROUP
Check Report builder
Ajay
quelle
1
Dies funktionierte auch für mich, wenn ich die Datenbank eines Kollegen importierte.
Malckier
2

Dies funktionierte für mich - gehen Sie zum Berichts-Manager, überprüfen Sie die Site-Einstellungen-> Sicherheit -> Neue Rollenzuweisung-> Benutzer hinzufügen

- Gehen Sie auch zu Datasets im Berichts-Manager -> Ihrem Berichts-Dataset -> Sicherheit -> Neue Rollenzuweisung -> fügen Sie den Benutzer mit der erforderlichen Rolle hinzu.

Vielen Dank!

Geetanjali Sachdeva
quelle
2

Ich weiß, dass es schon lange her ist, aber es kann für alle anderen Neuankömmlinge hilfreich sein.

Ich habe beschlossen, Benutzername, Kennwort und Domäne beim Anfordern von SSRS-Berichten zu übergeben, und daher eine Klasse erstellt, die IReportServerCredentials implementiert.

 public class ReportServerCredentials : IReportServerCredentials   
{
    #region  Class Members
        private string username;
        private string password;
        private string domain;
    #endregion

    #region Constructor
        public ReportServerCredentials()
        {}
        public ReportServerCredentials(string username)
        {
            this.Username = username;
        }
        public ReportServerCredentials(string username, string password)
        {
            this.Username = username;
            this.Password = password;
        }
        public ReportServerCredentials(string username, string password, string domain)
        {
            this.Username = username;
            this.Password = password;
            this.Domain = domain;
        }
    #endregion

    #region Properties
        public string Username
        {
            get { return this.username; }
            set { this.username = value; }
        }
        public string Password
        {
            get { return this.password; }
            set { this.password = value; }
        }
        public string Domain
        {
            get { return this.domain; }
            set { this.domain = value; }
        }
        public WindowsIdentity ImpersonationUser
        {
            get { return null; }
        }
        public ICredentials NetworkCredentials
        {
            get
            {
                return new NetworkCredential(Username, Password, Domain);
            }
        }
    #endregion

    bool IReportServerCredentials.GetFormsCredentials(out System.Net.Cookie authCookie, out string userName, out string password, out string authority)
    {
        authCookie = null;
        userName = password = authority = null;
        return false;
    }
}

Geben Sie beim Aufrufen von SSRS Reprots den folgenden Code ein

 ReportViewer rptViewer = new ReportViewer();
 string RptUserName = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUser"]);
        string RptUserPassword = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUserPassword"]);
        string RptUserDomain = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUserDomain"]);
        string SSRSReportURL = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportURL"]);
        string SSRSReportFolder = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportFolder"]);

        IReportServerCredentials reportCredentials = new ReportServerCredentials(RptUserName, RptUserPassword, RptUserDomain);
        rptViewer.ServerReport.ReportServerCredentials = reportCredentials;
        rptViewer.ServerReport.ReportServerUrl = new Uri(SSRSReportURL);

SSRSReportUser, SSRSReportUserPassword, SSRSReportUserDomain und SSRSReportFolder werden in den Dateien web.config definiert.

Dhruv Patel
quelle
1

Genau wie Nasser weiß ich, dass dies eine Weile her ist, aber ich wollte meine Lösung für jeden veröffentlichen, der dieses Problem in Zukunft hat.

Ich hatte meinen Bericht so eingerichtet, dass er eine Datenverbindung in einer auf SharePoint gehosteten Datenverbindungsbibliothek verwendet. Mein Problem war, dass ich die Datenverbindung nicht "genehmigt" hatte, damit sie von anderen Benutzern verwendet werden konnte.

Sie sollten auch darauf achten, dass die Berechtigungen für diese Datenverbindungsbibliothek auch das Lesen für die ausgewählten Benutzer ermöglichen.

Hoffe das hilft jemandem früher oder später!

T0t3sMcG0t3s
quelle
1

Für SQL Reporting Services 2012 - SP1 und SharePoint 2013.

Ich habe das gleiche Problem: Die Berechtigungen, die dem Benutzer '[AppPoolAccount]' erteilt wurden, reichen nicht aus, um diesen Vorgang auszuführen.

Ich ging in die Einstellungen der Dienstanwendung, klickte auf Schlüsselverwaltung, dann auf Schlüssel ändern und ließ den Schlüssel neu generieren.

Kevin Cole -MCM-
quelle
1

Danke für das Teilen. Nachdem Sie 1,5 Tage lang Probleme hatten, wurde festgestellt, dass der Berichtsserver mit einer falschen Domänen-IP konfiguriert wurde. Es wurde mit einer Backup-Domänen-IP konfiguriert, die offline ist. Ich habe dies in der Benutzergruppenkonfiguration identifiziert, in der der Domänenname nicht aufgeführt war. IP geändert und den Berichtsserver neu starten. Problem gelöst.

Vijay
quelle
1

Der Bericht möchte möglicherweise auf eine DataSource oder DataView zugreifen, auf die der AD-Benutzer (oder die AD-Gruppe) nicht über ausreichende Zugriffsrechte verfügt.

Stellen Sie sicher, dass Sie die folgenden URLs überprüfen:

  • http://REPORTSERVERNAME/Reports/Pages/Folder.aspx?ItemPath=%2fDataSources
  • http://REPORTSERVERNAME/Reports/Pages/Folder.aspx?ItemPath=%2fDataSets

Dann wähle Folder Settings

Ordnereinstellungen

(oder die entsprechende Person DataSourceoder DataSet) und auswählen Security. Die Benutzergruppe muss über die BrowserBerechtigung verfügen .

Geben Sie hier die Bildbeschreibung ein

MovGP0
quelle
0

Was für mich funktioniert hat war:

  • Gehen Sie zu Site Setting
  • Klicken Sie auf "Site-weite Sicherheit konfigurieren".
  • Klicken Sie in der oberen Leiste auf die Schaltfläche "Neue Rollenzuweisung"
  • Geben Sie der neuen Rolle den folgenden Namen "Jeder"
  • Gewähren Sie von den verfügbaren Rollen nur "Systembenutzer"
  • Klicken Sie auf "Übernehmen"

Das sollte es tun,

Viel Glück!

Äther
quelle
0

Führen Sie BIDS trotz bestehender Mitgliedschaft in der Administratorgruppe als Administrator aus.

Alexander Kashtalyan
quelle
1
Es ist nicht erforderlich, als Administrator ausgeführt zu werden. Die andere Antwort weist auf eine bessere Lösung hin, indem dem Benutzer, der den Bericht erstellen muss, die richtigen Berechtigungen erteilt werden. Als Administrator zu arbeiten ist niemals eine gute Idee, wenn dies vermieden werden kann.
Paul Hiemstra