0

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

有问题的数据集是一个非常简单的两行 SQL 选择,列出了公司的分支机构,用于报表服务器上的各种报表。这是该查询的通用表示:

select branchID, branchName from branch

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

我根据数据集登录到生产和开发报告服务器name并运行Report Xbranch。报告输出是正确的。

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

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

我询问了几个我信任的用户,Report X他们运行良好。

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

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

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

Report Y编辑1:我也和用户一起跑db。此报告不使用分支数据集,运行良好。唯一有问题的数据集是分支数据集。

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

4

1 回答 1

0

问题是由于权限。我们在数据库上使用 Windows 身份验证。所以我的“db”用户只是一个域用户。由于允许域用户访问数据库,因此这从来都不是问题。然而,在上次软件升级期间,分支表被视图所取代。视图的构造防止域用户看到视图的内容,除非他们也是数据库用户。解决方法是在数据库上创建一个“db”用户。

于 2013-05-23T21:57:22.770 回答