4

我们有一个 SSRS 报表服务器(我不知道“报表服务器”这个名称是我们特有的还是 SQL Server 报表服务通用的(IOW,我不知道是我们选择了它,还是微软选择了它))托管用户可以针对我们的数据运行的各种查询。

对于可用的给定报告,我需要找出正在运行的查询,可能是哪个 Stored Proc。

我想我可以通过页面中的“查看源代码”来解决这个问题,但我看不到“数据源”,也看不到我们的连接名称等。事实上,我查看了整个源代码并没有发现任何有用的信息。

“查看报告”按钮是:

<td><input type="submit" name="ReportViewerControl$ctl04$ctl00" value="View Report" id="ReportViewerControl_ctl04_ctl00" />

...唯一的其他参考是在这里:

Sys.Application.add_init(function() {
    $create(Microsoft.Reporting.WebFormsClient._PromptArea, {"CredentialsLinkId":"ReportViewerControl_ctl04_ctl01","ParameterIdList":["ReportViewerControl_ctl04_ctl03","ReportViewerControl_ctl04_ctl05","ReportViewerControl_ctl04_ctl07","ReportViewerControl_ctl04_ctl09"],"ParametersGridID":"ParametersGridReportViewerControl_ctl04","ReportViewerId":"ReportViewerControl","ViewReportButtonId":"ReportViewerControl_ctl04_ctl00"}, null, null, $get("ReportViewerControl_ctl04"));
});

有没有办法,无论是从“查看源代码”还是其他方式,我都可以哄出用于生成报告的 SP?

更新

在 Steve Mangiameli 的评论的推动下,我发现我的“开始”菜单中有以下内容:

MS SQL Server 2005
    SQL Server Business Intelligence Development Studio (BIDS)
MS SQL Server 2008
    SQL Server Installation Center
MS SQL Server 2012
    SQL Server Data Tools

我不知道其中哪一个对我来说在这个探索中有价值。

更新 2

我们确实有一个名为“Report Server”的 Visual Studio 2005 项目,在“Reports”文件夹下有许多 .rdl 文件。我认为这是我们独有的解决方案,但也许不是。

即使这提到的“报表服务器”,我仍然不知道哪个.rdl 文件是驱动我可以通过我们的在线报表查看器页面生成的报表的文件。

如果报告在生成时对相关 .rdl 文件的名称有一些引用,那就太好了。

4

2 回答 2

3

最简单的方法是使用Sql Profiler。运行 Sql Profiler,在您的 Sql Server 上放置一个跟踪并运行您的报告。然后,您将看到命中服务器的确切 SQL 语句。

于 2015-12-10T22:56:27.007 回答
3

您将需要导航报表管理器或报表服务器来下载报表。获得 .rdl 文件后,在文本编辑器中打开它……它只是一个 xml 文件。只需对“数据集”执行查找并检查数据集值。您将看到数据源、参数和 SP。使用此链接可帮助您浏览网站。

添加更好的图片链接。我会自己做,但在工作中无法访问云服务。

http://sql-articles.com/articles/general/download-export-rdl-files-from-report-server/

于 2015-12-10T23:02:01.720 回答