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目錄是被跨該發布中所有的報表服務器共用的。