Beim Anzeigen der SSRS-Bericht im integrierten SharePoint-Modus nach dem Aktualisieren einer Datenquelle auftreten Datenbank deadlocks


Problembeschreibung


Betrachten Sie das folgende Szenario:
  • Eine Instanz von Microsoft SQL Server Reporting Services (SSRS) mit Microsoft SharePoint integrated-Modus konfigurieren.
  • Sie erstellen einen Bericht mit mehreren Datenquellen.
  • Den Bericht wird auf einer SharePoint-Website bereitstellen.
  • Sie aktualisieren eine der Datenquellen.
  • Sie versuchen, den Bericht eine benutzerdefinierte SharePoint-Seite anzeigen. Der Bericht wird in einem IFrame-Steuerelement der Seite mithilfe des URL-Direktzugriff auf den Proxyendpunkt SSRS eingebettet:
    http://<,Servername> / <Websitename>/_vti_bin ReportServer/<Berichtsname> .rdl? <URL-Berichtsparameter>
In diesem Szenario können Sie eine oder mehrere der folgenden Symptome auftreten.

Symptom 1

Datenbank zu Deadlocks auf die folgenden gespeicherten Prozeduren in der Backend-Berichtsserver-Datenbank:

[Dbo]. [GetDataSources]
[Dbo]. [DeleteDataSources]

Symptom 2

Eine der folgenden Fehlermeldungen wird angezeigt:

Fehlermeldung 1
In der Berichtsserver-Datenbank ist ein Fehler aufgetreten. Dies kann durch einen Verbindungsfehler, Timeout oder Bedingung Speicherplatz in der Datenbank sein. (RsReportServerDatabaseError)

Fehlermeldung 2
Timeout ist abgelaufen. Das Zeitlimit wurde vor Abschluss des Vorgangs oder der Server antwortet nicht.

Symptom 3

Die SharePoint-Seiten sind sehr langsam geladen, wenn Sie versuchen, Inhalte von SharePoint-Website.

Ursache


Dieses Problem tritt auf, weil die Datenquelle nicht richtig synchronisiert ist, nachdem Sie aktualisiert.

Problemlösung


Um dieses Problem zu umgehen, verwenden Sie eine der folgenden Methoden:

Methode 1

Zeigen Sie den Bericht direkt aus der SharePoint-Dokumentbibliothek nach dem Aktualisieren der Berichtsdatenquelle. Dadurch wird sichergestellt, dass die Datenquelle richtig synchronisiert ist, vor dem Anzeigen des Berichts über den Proxyendpunkt SSRS.

Methode 2

Verwenden Sie ein Berichts-Viewer-Webpart zum Anzeigen des Berichts.