Click or drag to resize
Reporting Services

SQL Server Reporting Services (SSRS) is a server-based reporting platform that provides comprehensive reporting functionality for a variety of data sources. Reporting Services includes a complete set of tools for you to create, manage, and deliver reports, and APIs that enable developers to integrate or extend data and report processing in custom applications. Reporting Services tools work within the Microsoft Visual Studio environment and are fully integrated with SQL Server tools and components.

With Reporting Services, you can create interactive, tabular, graphical, or free-form reports from relational, multidimensional, or XML-based data sources. You can publish reports, schedule report processing, or access reports on-demand. Reporting Services also enables you to create ad hoc reports based on predefined models, and to interactively explore data within the model. You can select from a variety of viewing formats, export reports to other applications, and subscribe to published reports. The reports that you create can be viewed over a Web-based connection or as part of a Microsoft Windows application or SharePoint site. Reporting Services provides the key to your business data.

clip 0008

Although the ReportViewer control is built on the same Microsoft reporting technology as Reporting Services, it is distributed as a data control in Visual Studio. You can use the control with Reporting Services, or as an embedded data control that provides rich reporting functionality.

The following table shows how the ReportViewer control and Reporting Services compare on report processing, data retrieval, deployment, and report design. This overview might be helpful as the differences between server-side processing and local reports might become confusing:


ReportViewer controls

SQL Server Reporting Services

Report processing

Processes reports in the client application (local mode), or hosts server reports that run on a remote SQL Server Reporting Services report server (remote mode).

Processes reports on a report server, a middle-tier Web service that runs on Internet Information Services (IIS).


Report output formats


GDI for reports that run in Windows applications. HTML for reports that run in ASP.NET Web pages.

Export formats include Microsoft Excel and PDF.

GDI for reports that run in Windows applications. HTML for reports that run in ASP.NET Web pages.

Export formats include Microsoft Excel and PDF.

Report design and Visual Studio integration

Create client report definition (.rdlc) files in Visual Studio. Adding a Report template to a project creates a report definition file, adds the file to your project, and opens an integrated report designer in the Visual Studio workspace.

The Visual Studio Data Source wizards can be used to provide data in your application for subsequent use in the report.

The Visual Studio Report Designer does not include a Preview tab. To preview your report, run the application and preview the report embedded in it.

The Visual Studio Report Designer integrates with the Data Sources window. When a user drags a field from the Data Sources window to the report, the Report Designer copies metadata about the data source into the report definition file. This metadata is used by the ReportViewer control to automatically generate data-binding code.

Create report definitions in Visual Studio through the Business Intelligence Development Studio. The Business Intelligence Development Studio adds project templates that are specific to SQL Server components. To create reports, choose from the Report Server Project or Report Server Project Wizard templates.

A Data tab, Layout tab, and Preview tab allow you to define data, create a report layout, and preview the report in the same workspace.

Deployment and distribution

Redistributable controls and .rdlc files can be included in your application. You can also pass in report definition as a stream.

ReportViewer hosts the report in a form or Web page in an application that you create and deploy.

The ReportViewer toolbar provides page navigation, print, search, and export formats to support run time operations.

Deploy a SQL Server Reporting Services report server. Report definitions are stored in a report server database, processed on a server, and viewed in a browser-based application or custom application.

A report toolbar provides page navigation, print, search, and export formats.

Viewing tools and SharePoint Web parts can be used to view reports on demand.

Distribution features include subscription-based report delivery to e-mail addresses and file share locations.


Customization is supported through the API.

You can also set properties on reports and the ReportViewer toolbar to determine visibility and feature availability.

Extensions can be created to add support for data processing, report delivery, custom authentication, and report rendering.

You can set properties on the report, the report toolbar, and report server.

Additional customization is supported through an extensive API.


Search for ReportViewer Controls (Visual Studio) in the Visual Studio product documentation or on MSDN.

Reporting Services is documented in SQL Server Books Online.

Note Note

Ice Porter generates RDLC files when converting reports from Report Builder. These are effectively plain XML files that follow the Reporting Services conventions and are opened and interpreted at runtime. The difference between server-based RDL and client-based RDLC files is information about the data source. Files used by SQL Server Reporting Services contain the SQL statements to retrieve the report's source data whereas RDLC files are fed with data interactively at runtime - which is done by the PPJ Framework.