|
请把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目录是被跨该发布中所有的报告服务器共享的。
十二、 调度和提交处理器
调度和提交处理器宿主在SSRS Windows服务中,负责进行事件监视。当该调度和提交处理器收到一个事件时,它与报告处理器协作共同生成一个报告。在生成一个报告后,调度和提交处理器使用提交扩展来提交该报告。
调度和提交处理器利用SQL Server Agent作为一个调度引擎。这个调度是基于拥有该调度的Report Server的本地时间。当一个治理员创建一个新的调度时,SSRS创建一个SQL Server Agent作业以运行于请求的调度。然后,SSRS在ReportServer数据库的Schedule表中增加一个新行。该行的ScheduleId字段是该作业的标识符。主管能够调度订阅、报告历史和快照执行。
当调度时间已到,SQL Server Agent通过执行该调度作业生成一个事件。然后,这个作业在ReportServer数据库的事件表格中插入一个行。这个行担当一个调度和提交处理器的事件。
调度和提交处理器每隔PollingInterval秒检查事件表并初始化适当的动作以响应一个事件。
注重 这个PollingInterval是在rsreportserver.config配置文件中指定的,默认情况下,被设置为10秒。
当SSRS Windows服务没有运行(调度和提交处理器没有处理事件)或SQL Server Agent没有运行(这个代理没有生成事件)时,调度和提交处理将会"中断"。
注重 当SSRS Windows服务并没有运行而SQL Server Agent已运行时,SQL Server Agent的作业历史将显示:该被调度的请求("插入事件")成功运行。该作业仍然会成功,尽管被调度的操作能完成,因为调度和提交处理器并没有运行来处理该事件。 十三、 Report Builder(SQL Server 2005中新增)
|
| 共8页: 上一页 [1] [2] [3] 4 [5] [6] [7] [8] 下一页 |
评论加载中…