SSRS目錄下包括兩個數據庫:
Report Server數據庫(默認名是ReportServer)和ReportServer臨時數據庫(默認名是ReportServerTempDB)。
Report Server數據庫是一個SQL Server數據庫
它能夠存儲SSRS配置部分,報告定義,報告元數據,報告歷史,緩存政策,快照,資源,安全設置,加密的數據,調度和提交數據,以及擴展信息。 注意 盡管用戶能夠直接存取在SSRS目錄下的數據庫並且能夠直接修改SSRS使用的對象;但在實踐中,不推薦(或不支持)這樣做,因為在SSRS目錄下的內在數據和結構不能被保證與不同版本的SSRS、服務包或補丁相兼容。 請把Report Server數據庫當作產品數據庫之一來對待。盡管許多開發人員都習慣把RDL存儲在一個單獨的倉庫中,並因此導致經常恢復RDL;但是,損失快照數據能夠帶來消極的業務影響。例如,用戶可能使用快照的報告"相對靜止"數據的能力來作一些業務決定。
SSRS使用的另一個數據庫是Report Server臨時數據庫。
這個數據庫負責存儲中間處理產品,例如緩沖的報告、會話和執行數據等。 注意 為了把臨時快照存儲在文件系統而不是數據庫中,管理員應該完成下列步驟。 首先,修改RSReportServer.config,並把WebServiceUseFileShareStorage和WindowsServiceUseFileShareStorage設置為True。 然后,把FileShareStorageLocation設置為一個全稱路徑;默認路徑是"C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\RSTempFiles"。 不同於SQL Server的tempdb,當在ReportServerTempDB中的數據存儲時限超過SQL Server時,Report Server將會重啟。而且,Report Server能夠周期性地清除ReportServerTempDB中的到期的和孤立的數據。 在任何時間,所有的ReportServerTempDB中的數據都能夠被以最小(或毫無)影響刪除掉。
例如,這種用戶可能體驗到的最小的影響是帶來一種暫時的性能減弱(由於損失了緩存數據,而且失去了一個執行狀態)。執行狀態被存儲在表SessionData中。執行狀態結果的損失可能導致一個錯誤:"Execution 'j4j3vfblcanzv3qzcqhvml55' cannot be found (rsExecutionNotFound)"。為了解決執行狀態損失問題,用戶需要重新打開一個報告。 提示 SSRS不能恢復數據庫中刪除的ReportServerTempDB或表。為了快速地從數據庫中對象的錯誤刪除中進行恢復,應該保留一個腳本或一個空ReportServerTempDB的備份。 在一個向外擴展的發布中,SSRS目錄是被跨該發布中所有的報告服務器共享的。
