2010-08-06 3 views
18

In SSRS habe ich festgestellt, dass die Rdl.data Cache-Dateien auf meinem Computer gespeichert werden. Werden diese Dateien auch auf dem Berichtsserver gespeichert, wenn Berichte ausgeführt werden? Wenn ja, gibt es eine Möglichkeit, diese Dateien auf dem Server zu vermeiden?IN SSRS, gibt es eine Möglichkeit, die Erstellung der Datei rdl.data zu deaktivieren

+0

Microsoft Connect Anfrage: https: // verbinden .microsoft.com/SQLServer/feedback/details/468482 –

+0

Ich hatte ein Problem, von dem ich dachte, dass es daran lag, aber tatsächlich, weil Datasets in 'bin /' kopiert und dann nicht entfernt werden, wenn sie nicht mehr im Projekt sind Verursachen des fehlgeschlagenen Berichts während des lokalen Testens. Schrecklich. –

Antwort

13

rdl.data-Dateien werden nicht auf dem Server erstellt. Sie dienen lediglich dazu, die Ausführungszeit von Berichten während der Entwicklung zu beschleunigen, wenn Sie den Bericht wiederholt mit denselben Parametern ausführen, während Sie das Layout optimieren.

Als ein Nebenpunkt, ich glaube, es ist wahr zu sagen, dass es möglich ist, den SSRS-Dienst zum Zwischenspeichern von Ergebnissen für die Wiederverwendung zu konfigurieren.

Ich kenne nicht die Details des Caching-Mechanismus, den der Dienst verwendet; Es könnte einen dateibasierten Mechanismus wie rdl.data verwenden oder die Ergebnisse in einer der ReportingServices-Datenbanken speichern.

Vielleicht kann jemand, der mehr über SSRS informiert ist, die Details des Mechanismus bestätigen.

+0

@ Ed .... große Info. Vielen Dank! Und wenn jemand die serverseitige Dienst-Caching-Konfiguration kommentieren möchte .... Ich wäre sehr interessiert – MikeTWebb

+1

Ich weiß, dies ist ein später Kommentar, aber SSRS-Caching passiert innerhalb der ReportServer und ReportServerTempDB Datenbank. Dies könnte einen Ausgangspunkt für das Verständnis des SSRS-Caching-Modells bieten: http://sqlcat.com/technicalnotes/archive/2008/06/26/report-server-catalog-best-practices.aspx – warriorpostman

+0

@warriorpostman thanks - used die Wayback-Maschine, um die Informationen zu diesem aktuellen Archiv URL https://blogs.msdn.microsoft.com/robertbruckner/2008/11/04/technical-note-series-on-reporting-services-performance-and-scalability zu verfolgen/Der Titel ist "" als Teil von "Erstellen und Bereitstellen umfangreicher SQL Server Reporting Services-Umgebungen Technical Note Series" und hier ist ein konkreter Sticky Link http://web.archive.org/web/20080802051432/http://sqlcat .com/80/technicalnotes/archive/2008/06/05/reporting-services-scale-out-architecture.aspx –

8

In der Entwicklung können Sie die Zwischenspeicherung deaktivieren (und die * .rdl.data-Dateien entfernen), indem Sie die Designer-Konfigurationsdatei bearbeiten.

Für SQL Server 2008 SSRS würde die Standardposition sein:

C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ Private \ RSReportDesigner.config

ändern CacheDataForPreview auf „false“

Quellen-Link http://blog.summitcloud.com/2010/05/disable-reporting-services-data-cache-in-development/

+4

Dies funktioniert nicht dieses connect-Problem wurde bei MS seit 4 Jahren geöffnet http: //social.msdn .microsoft.com/Forums/sqlserver/de-DE/0aa81692-352f-4c1f-a0e3-95fe6c0797ca/cachedatafo rpreview-in-rsreportdesignerconfig-nicht-geehrt –

+0

Einstellung noch in VS2013 existiert, aber noch nicht die Erzeugung von '.data' Dateien zu stoppen –

2

ich nicht davon überzeugt bin, dass Antwort Werke zomf (und neither are Microsoft). Es klingt in der Theorie gut, scheint aber in der Praxis nicht zu funktionieren.

Ich denke, die einfachste Sache ist, mit diesen Dateien zu leben. Wenn Sie sich gestört fühlen, können Sie die AutoRefresh-Eigenschaft jedes von Ihnen erstellten Berichts auf 1 Sekunde festlegen (auch wenn der störende blinkende Effekt und die Last auf Ihrem Server diese Option möglicherweise undurchführbar machen).

Andernfalls klicken Sie einfach auf die Schaltfläche REFRESH, wenn Sie Ihren Bericht in der Vorschau anzeigen.

Eine andere Option könnte sein, Dummy-Parameter für einen Bericht zu erstellen, mit einem zufällig generierten Wert bei jeder Ausführung. Da SSRS nur zwischengespeicherte Daten anzeigt, wenn die eingegebene Kombination der Parameter identisch mit der vorherigen Ausführung des Berichts ist, könnte dies das Problem lösen. Ich habe es jedoch in der Praxis nicht getestet.

0

Powershell zur Rettung, verstecken es nur - ein Powershell-Projekt auf Ihre Berichte Lösung hinzufügen und es als Start-up-Projekt in Ihrer Build-Konfiguration festgelegt:

$path = "../*.rdl.data" 

$rdlDataFiles = Get-ChildItem -Recurse -Force -Path "$path"; 

Write-Output "$path" 

$rdlDataFiles | ForEach-Object { 
    Write-Output "Hiding *.rdl.data file $_" 

    $_.Attributes = $_.Attributes -bor (([System.IO.FileAttributes]::Hidden)) 

    # Next line isn't required per say, but just a guard. 
    $_.Attributes = $_.Attributes -bor (-bnot([System.IO.FileAttributes]::ReadOnly)) 
} 
Verwandte Themen