一个数据集仅在SSRS 2008上为一个用户返回null

时间:2013-05-22 13:00:04

标签: sql-server ssrs-2008

我遇到了奇怪的情况。我有一个生产和测试报告服务器启动并运行,它们已经运行了一年多完美无瑕。星期一5/20一切正常。从昨天开始,我开始体验仅为一个用户返回NULL的数据集。我有权访问两个域用户,我们将调用name,另一个称为dbname用户是我的普通用户,也是我登录PC的用户。 db用户是我用于开发任务和故障排除的用户。 db用户是受影响的用户。

有问题的数据集是一个非常简单的双行SQL选择,它列出了公司的分支,以便在报表服务器上的各种报表中使用。以下是该查询的通用表示:

select branchID, branchName from branch

此查询在SQL Server Management Studio中运行。以下是我为验证问题范围所做的工作:

我使用name登录到生产和开发报告服务器,并运行Report X,这取决于branch数据集。报告输出是正确的。

我使用db登录到生产和开发报告服务器并运行Report X并且无法选择分支,因为分支组合框中没有值。

我在Report Builder 3.0中打开了数据集并在两个用户上执行了它。 name用户获得了正确的结果集,但db用户没有。

我问了几个用户,我相信他们可以运行Report X并且运行正常。

我让我的网络管理员仔细检查db的域权限,看起来很好。

我仔细检查了我用于报表服务器的ODBC驱动程序,并且连接良好。

我不知道要检查什么。有什么建议吗?

编辑1:我还与Report Y用户一起运行db。此报告不使用分支数据集,并且运行正常。唯一有问题的数据集是分支数据集。

编辑2:我使用问题用户登录SSMS并从分支运行select *,结果集为空。此外,我从设备运行select *,结果集有效 - 大约54,000条记录。所以它似乎是某些表的权限问题。我所知道的唯一一个是分支表。

1 个答案:

答案 0 :(得分:0)

问题是由于权限造成的。我们在数据库上使用Windows身份验证。所以我的“db”用户只是一个域用户。由于允许域用户访问数据库,因此从来不是问题。但是,在上次软件升级期间,分支表已被视图替换。视图的构造可防止域用户看到视图的内容,除非他们也是数据库用户。修复是在数据库上创建一个“db”用户。