December 23, 2014 at 4:45 am
I'm currently migrating a report server from a SQL Server 2005 to a SQL Server 2008 environment. On each server, access to the Report Manager is authenticated using local Windows users and groups.
All users appear to be able to log in to Report Manager successfully, and see the folders / reports assigned to them based on their group memberships and the Report Server roles assigned to those groups.
However, most of my reports include a query which filters the dataset based on the UserID of the currently logged in user. In the new environment, this filter does not appear to be working for most users.
For testing purposes, I have amended one of my reports to show the value of the UserID parameter for the currently logged in user. For most users, this appears to be blank, which would explain why the filter doesn't work, as the filter query appears to have no UserID to filter on.
As stated, this problem occurs for most users, but not all. Any suggestions to resolve the issue would be greatly appreciated.
December 23, 2014 at 12:29 pm
Have a look at the Data Source the reports are using - that is what dictates what user's permissions are being passed to the database. If the Data Source credentials are set up with some generic username, that is the user id that will be passed to the query. I don't have a lot of experience with passing end user credentials directly to SQL, but I suspect that hand-off is where your issue lies.
December 23, 2014 at 1:31 pm
doug.brown (12/23/2014)
Have a look at the Data Source the reports are using - that is what dictates what user's permissions are being passed to the database. If the Data Source credentials are set up with some generic username, that is the user id that will be passed to the query. I don't have a lot of experience with passing end user credentials directly to SQL, but I suspect that hand-off is where your issue lies.
I believe what the OP is referring to is a parameter that has a default of =User!UserID which should get the current login as a string like "Domain\UserName" and then he's passing that string to his queries as a filter. If that is the case, it shouldn't matter if he's using a generic username - I have many reports that do the same sort of thing.
To the OP: One thing you might try if you haven't already is move the UserID parameter to the first in the list; for whatever reason that seems to be an issue with SSRS 2008 on some installations. Ran into that one myself... oddly, it happened on one instance and not on another.
If that doesn't help... you mentioned that this happens on some users and not others. Have you tried on different computers? In other words, if UserA works and UserB does not, have UserA log into UserB's computer and see if the results are the same - and vice versa. I've seen issues in the past (also with 2008) where global parameters don't always fill properly for specific users. It's been a number of years but I believe the "fix" was to clear the cache on the affected machines.
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply