Failing to Preview Report in Report Builder

By | February 28, 2013

Abstract

We recently delivered a SQL Server 2012 Reporting Services solution to a client with an additional capability for client’s business users to be able to design, develop and publish ad hoc reports using Report Builder 3.0. During unit testing we had one of the Business Analysts (BA) in our team simulate business user experience by attempting to create reports using Report Builder. Although the BA could connect to datasets and design a report accordingly, he couldn’t run the newly designed report from Report Builder. The error that he got is as follows – “Failed to preview report. The permissions granted to user ‘*selectSifiso\Sifiso’ are insufficient for performing this operation” (for the rest of the article the error will be referred to as ‘this error’). The error basically relates to user permissions. I have gone through the web to find possible workarounds to this error and as it turns out this error is not so uncommon in the world of Business Intelligence. Thus, this article will demonstrate how to resolve such an error should you encounter it too.

*For obvious security reasons, I replaced the original BA account with my dummy account.

Requirements

**Please note that the above requirements are only necessary for fixing the user permissions error as it is this article main objective. There are further requirements for developing an SSRS Reporting Solution.

Article

According to this msdn article, in Reporting Services there is a task referred to as Execute Report Definitions (ERD) which allows for the processing of a “report definition that is not currently stored on the report server”.

Now going back to the issue we are trying to resolve, assigning our BA a role that includes the ERD task would obviously solve our problem.

Unfortunately, or fortunately (depending on your user role in a given report server) the ERD task is available to users assigned to system roles i.e. system administrator and system user.

Therefore, in order to prevent a situation whereby you have all business users assigned to system administrator roles, the best practice would be to setup another system role with only an ERD task.

Thereafter you can merely assign business users, in our example the BA, to the role with an ERD task.

In the following steps we will demonstrate the creation of a system role with ERD task and assigning users to that role.

Step 1: Create System Role

1.1. In an administrator mode, Start SQL Server Management Studio (SSMS) and connect to Reporting Services

reporting_serv
1.2. Navigate to System folder, collapse it, then right click to System Roles sub-folder and choose New System Role… (If you didnt launch SSMS as an administrator, the option of adding a New System Role would appear greyed-out)

new_sys_role
1.3. In an New System Role dialog box, for the purposes of this exercise let’s assign RunReportBuilder into the Name textbox. Then check the Execute Report Definitions task.

RunReportBuilder

Step 2: Assign Users to RunReportBuilder System Role

2.1. Again, preferebly launch your Roport Manager as administrator (in order for that to happen, launch Internet Explorer/preferred browser as administrator)
2.2. Click Site Settings – usually found at top right side menu in browsers.
2.3. Still in your Site Settings page, click Security tab
2.4. The Security tab will return a list of users/groups with their respective roles, click on New Role Assignment

site_settings_after
2.5. After a New Role Assignment page loads, on the Group or user name textbox type the account of the user you would like grant access to the ERD task. Thereafter check the the RunReportBuilder role.

Conclusion

You can now inform the user to test run a report using Report Builder to check that the role assignment have taken effect.

Till next time folks, cheers.

Sifiso.

2 thoughts on “Failing to Preview Report in Report Builder

  1. kris maly

    Thanks for the info.

    Opened SSMS as Administrator but when I right Click on Security folder displayed “New System Role” as disabled (grayed out).
    May I know how to enable?

    FYI SSMS is on my personal computer

    Thanks for educating us

    Reply
  2. Michael

    Hi,
    thanks for this great explanation. Can it also be done in SQL Express? (SSMS does not offer the option to connect to Reporting Services)
    Best wishes
    Michael

    Reply

Leave a Reply