浅析SQL Server 2008中的报表服务功能
内容提示:报表服务是SQL Server Express Edition中一个重要功能,利用它可以辨别和解决影响SQL Server Express Edition报表服务功能和性能问题,从而可以实现报故障排除的效果。
对于大多数应用者来说报表服务是依赖于广泛的服务和软件组件,所以当其在辨别某个问题的根本原因(并提供一个解决方案)时将主要依赖于环境、交互的错误信息、日志或追踪文件的内容所提供的线索,当然这是其中的几点,而最主要的原因有如下几种。(注意,这个排列是随意的,只是显示几种标准之一-因为我们可以考虑安全、性能和配置等不同因素):
当然,为了能够仔细的把每项都研究透彻,那么能够帮助故障排除数据的能力就变得尤为重要,通常情况下都是通过以下的方法来实现:
• Windows Event Logs – 虽然你可以在系统日志中找到一些报表服务相关的项目(因为SQL Server报表服务功能是作为一个操作系统服务来使用的),我们感兴趣的内容还是主要在应用程序日志中。可以根据它们显示为Report Server Windows Service或Report Manager的Source参数来分辨。一些更相关的事件包括报表服务器和报表管理器开启和关闭错误、配置变更(例如那些反映对RSReportServer.config文件所做的修改)、安全事件(潜在的对服务攻击的拒绝)和活动(与加密密钥相关的问题)事件、以及性能或日志记录问题(例如创建性能计算器或写到跟踪日志失败)。
• Reporting Services Trace Logs – 如果从应用程序事件日志中得不到任何结论,那么参照这些文件考虑更详细。它们位于Program Files\Microsoft SQL Server\InstanceName\LogFiles文件夹下(InstanceName是存放报表服务数据库的SQL Server Express Edition实例),它们的名称是以合并它们的创建日期和时间的规范来命名的,它们包含关于Report Sever Windows服务工作器(ReportServerService_timestamp.log)和管理(ReportServerService_main_timestamp.log)线程的数据,以及跟踪由它的Web service(ReportServer_timestamp.log)和报表管理器(ReportServerWebApp_timestamp.log)所触发的单个事件。尽管有一个内置机制促进对它们的增长进行控制(强制一天至少创建一次新日志,限制它们小于32MB,并自动删除14天以前的旧日志),但是对于报表服务相对较为活跃的情况你可能会遇到磁盘空间问题。为了避免这些,考虑调整日志的最大规模和它们的保留时间,或者降低日志记录的级别,通过修改被各个报表服务组件所使用的下面的配置文件中指定给DefaultTraceSwitch参数的值(0完全关闭跟踪,1记录异常和重启,2跟踪异常、重启和警告,3包括其它的状态信息,4代表详细模式,这只限于在排除故障期间临时使用):
o Report Server Windows service – 在Microsoft SQL server\MSSQL.x\Reporting Services\Report Server\bin文件夹下的ReportingServicesService.exe。
o Report Server Web service – 在Microsoft SQL server\MSSQL.x\Reporting Services\Report Server\ReportServer文件夹下的Web.config。
o Report Manager – 在Microsoft SQL server\MSSQL.x\Reporting Services\Report Server\ReportManager 文件夹下的Web.config。