SQL SERVER – Data Sources and Data Sets in Reporting Services SSRS

This example is from the Beginning SSRS by Kathi Kellenberger. This is published after obtaining necessary permissions.

Connecting to Your Data?

When I was a child, the telephone book was an important part of my life. Maybe I was just a nerd, but I enjoyed getting a new book every year to page through to learn about the businesses in my small town or to discover where some of my school acquaintances lived. It was also the source of the maps to my town’s neighborhoods and the towns that surrounded me.

To make a phone call, I would need a telephone number. In order to find a telephone number, I had to know how to use the telephone book. That seems pretty simple, but it resembles connecting to any data. You have to know where the data is and how to interact with it.

A data source is the connection information that the report uses to connect to the database. You have two choices when creating a data source, whether to embed it in the report or to make it a shared resource usage by many reports.

Data Sources and Data Sets

A few basic terms will make the upcoming choices make more sense. What database on what server do you want to connect to? It would be better to just ask… “What is your data source?” The connection you need to make to get your reports data is called a data source.

If you connected to a data source (like the JProCo database) there may be hundreds of tables. You probably only want data from just a few tables. This means you want to write a specific query against this data source. A query on a data source to get just the records you need for an SSRS report is called a Data Set.

Creating a local Data Source

You can connect embed a connection from your report directly to your JProCo database which (let’s say) is installed on a server named Reno. If you move JProCo to a new server named Tampa then you need to update the Data Set. If you have 10 reports in one project that were all pointing to the JProCo database on the Reno server then they would all need to be updated at once. It’s possible to make a project level Data Source and have each report use that. This means one change can fix all 10 reports at once. This would be called a Shared Data Source.

Creating a Shared Data Source

The best advice I can give you is to create shared data sources. The reason I recommend this is that if a database moves to a new server you will have just one place in Report Manager to make the server name change. That one change will update the connection information in all the reports that use that data source.

To get started, you will start with a fresh project. Go to Start All> Programs > SQL Server 2012 > Microsoft SQL Server Data Tools to launch SSDT. Once SSDT is running, click New Project to create a new project. Once the New Project dialog box appears, fill in the form, as shown in. Be sure to select Report Server Project this time – not the wizard.

Click OK to dismiss the New Project dialog box. You should now have an empty project, as shown in the Solution Explorer.

A report is meant to show you data. Where is the data? The first task is to create a Shared Data Source. Right-click on the Shared Data Sources folder and choose Add New Data Source.

The Shared Data Source Properties dialog box will launch where you can fill in a name for the data source. By default, it is named DataSource1. The best practice is to give the data source a more meaningful name. It is possible that you will have projects with more than one data source and, by naming them, you can tell one from another. Type the name JProCo for the data source name and click the Edit button to configure the database connection properties.

If you take a look at the types of data sources you can choose, you will see that SSRS works with many data platforms including Oracle, XML, and Teradata. Make sure SQL Server is selected before continuing.

For this post, I am assuming that you are using a local SQL Server and that you can use your Windows account to log in to the SQL Server. If, for some reason you must use SQL Server Authentication, choose that option and fill in your SQL Server account credentials. Otherwise, just accept Windows Authentication.

If your database server was installed locally and with the default instance, just type in Localhost for the Server name. Select the JProCo database from the database list. At this point, the connection properties should look like.

If you have installed a named instance of SQL Server, you will have to specify the server name like this: Localhost\InstanceName, replacing the InstanceName with whatever your instance name is. If you are not sure about the named instance, launch the SQL Server Configuration Manager found at Start > All Programs > Microsoft SQL Server 2012 > Configuration Tools. If you have a named instance, the name will be shown in parentheses. A default instance of SQL Server will display MSSQLSERVER; a named instance will display the name chosen during installation.

Once you get the connection properties filled in, click OK to dismiss the Connection Properties dialog box and OK again to dismiss the Shared Data Source properties. You now have a data source in the Solution Explorer.

What’s next

I really need to thank Kathi Kellenberger and Rick Morelan for sharing this material for this 5 day series of posts on SSRS. To get really comfortable with SSRS you will get to know the different SSDT windows, Build reports on your own (without the wizards),  Add report headers and footers, Accept user input,  create levels, charts, or even maps for visual appeal. You might be surprise to know a small 230 page book starts from the very beginning and covers the steps to do all these items. Beginning SSRS 2012 is a small easy to follow book so you can learn SSRS for less than $20. See Joes2Pros.com for more on this and other books.

Reference: Pinal Dave (https://blog.sqlauthority.com)

Reporting Services, SQL Server, SSRS
Previous Post
SQL – What is the latest Version of NuoDB? – A Quick Contest to Get Amazon Gift Cards
Next Post
SQL SERVER – How to an Add Identity Column to Table in SQL Server

Related Posts

4 Comments. Leave new

  • Hello Pinal,

    I have created shared data source. When user clicks on the report using reporting services, I want user to connect using service account that I have mentioned on the reporting services.(Not sure if we have to mention service account thing in Visual Studio 2012). But somehow it’s still trying to connection with my domain account and not the service account. (as I don’t have permissions to view the database from the domain account it’s throwing error : cannot connect to the data source).

    Any help would be appreciated.


  • Hi Pinal,
    I am trying to shared data source in report server using SQL script instead of GUI.
    Any help would be appreciated.


  • This is the simplest explanation of what SRSS calls a “Data Source”.

    It is simply the credential information for the report to connect to the database.

    Why doesn’t Microsoft say that?

  • Hi , Can you please share code for downloading all data sources and data sets from report server.


Leave a ReplyCancel reply

Exit mobile version