0

我想在 SSMS 中构建一个报告,以便您可以单击一个对象,选择报告,然后它会查询数据源(而不是您正在查看的服务器本身)以返回有关该对象的信息。

我见过的所有 SSMS 报告都使用空数据源 ( Data Source=.),因此 SSMS 会针对您单击的任何数据库/服务器/对象运行它。我将历史信息保存在另一台服务器上。

我知道这是可能的;根据http://sqlbg.wordpress.com/2011/03/06/how-to-create-custom-reports-for-sql-server-management-studio/传递了 6 个参数。我想对我的数据源运行查询,理想情况下将这 6 个参数传递给我的存储库数据源上的 SP。

我获取了上面链接中的代码并创建了一个 RDL,然后将其导入到我的项目中(SSDT 和 BIDS 2005 都;同样的问题)。它在预览模式下工作,从报告中的嵌入式数据源返回数据集 - 但是当我在 SSMS 中打开 RDL 时,我得到“无效的对象名称“mytablename””(其中 mytablename 是我查询中的表的名称) . 所以看起来它没有正确使用数据源. Profiler 确认了这一点 - 当时没有登录到服务器。

我已成功重现 SSDT 和 BIDS 2005 中的问题(8.0.50727.4039,Microsoft Visual Studio 2005 Tools for Applications)

非常感谢!

4

1 回答 1

0

无论您实际使用什么,SSMS 似乎都只会使用您单击的 SQL Server 作为数据源。这可能是出于安全考虑,但它使跨服务器报告更加困难。

为了解决这个问题,我创建了一个链接服务器(RPC OUT on,collat​​ion compatible = true),使用只有读取权限的特定用户。

如果有人知道任何在 SSMS 中工作的跨服务器报告,请告诉我 - 我很想知道他们是如何做到的。

于 2012-10-17T22:22:49.133 回答