我们公司有一个使用SQL Reporting Service的网站解决方案:在解决方案中有一个报告项目,但解决方案中缺少此项目。所以我无权访问这些报告,但我知道他们在数据库中调用了哪些程序。目前只有一个报告中存在生产问题,这是错误:
报表服务器上发生内部错误。有关详细信息,请参阅错误日志。 (rslInternalError)有关此错误的详细信息,请导航到本地服务器计算机上的报表服务器,或启用远程错误。
我搜索了Google,我发现我应该查看SQL Server报告日志以查看问题所在,我搜索了更多但是对于所有遇到此错误的人来说,它发生在所有报告中,而不仅仅是单个报告。
答案 0 :(得分:2)
该错误消息仅表示存在阻止报告运行的错误;虽然它可以指示实例范围的问题,但它只与正在运行的实际报告相关,因此也只能与该报告相关。
你还没有说过你是否搜索过日志文件 - 这是最好的起点。此处将记录任何报告例外。如果您还没有,请在此处查看 - 根据您的版本,检查%programfiles%\Microsoft SQL Server\<SQL Server Instance>\Reporting Services\LogFiles\
中的文件。
还有一些尝试获取更多信息的建议 - 这些都需要对报表服务器进行不同级别的访问。
启用远程错误
http://technet.microsoft.com/en-us/library/aa337165.aspx
这意味着将显示实际错误而不是您看到的一般错误消息,因此您可能会以这种方式获得更多信息。
运行基础存储过程
通常,数据库级别可能存在错误,从而导致错误,例如:除以零错误 - 运行存储过程时会发生什么?捕获通过SQL事件探查器使用的确切参数非常有用,因此您可以准确复制报告正在执行的操作。
从报告服务器获取报告代码
您说您丢失了报告代码,但假设您可以从报告服务器获取服务器端报告 - 此链接包含几个不同版本的详细信息:
http://sql-articles.com/blogs/download-export-rdl-files-from-report-server/
报表查看器中的调试报表
与下载上述报告定义类似,您可以从Report Manager网站的Report Viewer应用程序中打开服务器端报告。这意味着您将能够在与Visual Studio类似的环境中查看报表设计器,并检查报表代码,以及运行和调试报表。 在对生产实例执行此操作时要非常小心 - 只应作为最后的手段。
希望这能为您提供一些新选择。具有对报表服务器的管理员访问权限将允许您执行所有这些故障排除任务。