报表问题的故障排除技术

新建日期: 2008 年 11 月 17 日

解决报表问题的第一个步骤是确定涉及哪些组件。例如,如果在报表服务器上查看报表,则是在报表管理器中使用 HTML 呈现器查看报表。如果在本地预览中查看报表,则是在 Business Intelligence Development Studio 的报表查看器控件中查看报表。如果查看已导出到 Excel 的报表,则是在本地客户机上使用 Excel 打开导出的文件。若要了解和帮助解决问题,必须先确定问题所涉及的组件。尽可能收集有关组件或进程的信息。使用本主题中的信息可以了解解决报表问题的方法。

以下链接提供了有关特定主题的详细信息:

技术:监视报表服务器

可以使用系统和数据库工具来监视报表服务器活动。还可以查看报表服务器跟踪日志文件,或在报表服务器执行日志中查询有关特定报表的详细信息。如果使用性能监视器,则可以添加报表服务器 Web 服务和 Windows 服务的性能计数器,以确定按需处理或计划处理中的瓶颈。

有关详细信息,请参阅监视报表服务器性能

技术:查看报表服务器日志

Reporting Services 会在日志文件中记录很多内部事件和外部事件,此类文件记录有关特定报表、调试信息、HTTP 请求和响应以及报表服务器事件的数据。您还可以创建性能日志,然后选择性能计数器来指定要收集的数据。默认实例安装的日志文件的默认目录为 <驱动器>\Program Files\Microsoft SQL Server\MSSQL.N\Reporting Services\LogFiles。有关详细信息,请参阅 Reporting Services 日志文件

若要专门确定报表等待是否由数据检索、报表处理或报表呈现引起,请使用执行日志。有关详细信息,请参阅报表服务器执行日志

技术:在报表服务器上查看报表处理错误消息的调用堆栈

在报表管理器中查看已发布的报表时,您可能会看到一条指示常规处理或呈现错误的错误消息。若要查看详细信息,可以查看调用堆栈。

若要查看调用堆栈,请用本地管理员凭据登录到报表服务器,右键单击“报表管理器”页,然后单击**“查看源”**。调用堆栈会提供有关错误消息的详细上下文。

技术:在报表服务器上启用远程错误

在报表管理器中,查看有错误的报表时,可能会看到以下错误消息:“有关此错误的详细信息,请导航到本地服务器上的报表服务器或启用远程错误”。

若要显示有关错误的详细信息,可以配置远程报表服务器,以提供有关错误消息的上下文信息。有关详细信息,请参阅如何启用远程错误(Reporting Services 配置)

技术:使用 SQL Server Management Studio 验证查询和凭据

SQL Server 包含 SQL Server Management Studio,后者是一种用于商业智能组件的管理工具。使用 Management Studio 可以连接到数据源,打开查询窗口,在报表中包含复杂查询之前创建并验证这些查询。

若要测试是否可以在不同的安全上下文中访问数据源,请使用 Microsoft Windows Run As 命令运行 Management Studio,然后输入要测试的凭据。当 Management Studio 处于打开状态时,与数据源的连接使用指定的凭据。

有关详细信息,请参阅 SQL Server Management Studio Transact SQL 查询使用对象资源管理器

技术:使用客户端上缓存的报表数据分析问题报表

报表作者在 Business Intelligence Development Studio 中创建报表时,创作客户端会将数据缓存为一个 .rdl 数据文件,预览报表时会使用该文件。每次查询更改时,缓存都会更新。有时候为了调试报表问题,防止刷新报表数据会很有用,这样进行调试时数据将不会更改。

若要控制 BI Development Studio 是否仅使用缓存的数据,可以在应用程序配置文件 devenv.exe.config 中设置 ForceCache 属性。默认情况下,配置文件位于以下目录中:<drive>:Program Files\Microsoft Visual Studio 8\Common7\IDE。若要防止查询刷新数据,请将 ForceCache 设置为 1。下面的代码演示将缓存配置作为 XML 片段:

...
<system.diagnostics>
  <switches>
    <add name=
"Microsoft.ReportDesigner.ReportPreviewStore.ForceCache" value="1"
    />
    </switches>
</system.diagnostics>
...

只要将 ForceCache 设置为 1,就会仅使用缓存的报表数据。请确保在完成报表调试后删除此部分内容。

请参阅

概念

Reporting Services 日志文件

其他资源

Reporting Services 错误和事件
Reporting Services 故障排除

帮助和信息

获取 SQL Server 2005 帮助