SQL Server Reporting Services
SQL Server Reporting Services (SSRS) is a server-based report generating software system from Microsoft. It is part of a suite of Microsoft SQL Server services, including SSAS (SQL Server Analysis Services) and SSIS (SQL Server Integration Services).
Administered via a Web interface, it can be used to prepare and deliver a variety of interactive and printed reports. The SSRS service provides an interface into Microsoft Visual Studio so that developers as well as SQL administrators can connect to SQL databases and use SSRS tools to format SQL reports in many complex ways. It also provides a 'Report Builder' tool for less technical users to format SQL reports of lesser complexity.
Reporting Services was first released in 2004 as an add-on to SQL Server 2000. Subsequent versions have been:
- Second version with SQL Server 2005 in November 2005
- Third as part of SQL Server 2008 R2 in April 2010
- Fourth version as part of SQL Server 2012 in March 2012
- Fifth version as part of SQL Server 2014 in March 2014
- Sixth version as part of SQL Server 2016 in March 2016
- Seventh version as part of SQL Server 2017 in October 2017
- Microsoft SQL Server Developer, Standard, and Enterprise editions all include SSRS as an install option.
- The free SQL Server Express includes a limited version.
SQL Server Data Tools for Business Intelligence (SSDT BI) reduces the RDL (Report Definition Language) component to graphic icons in a GUI (Graphical User Interface). In this way, instead of writing code, the user can drag-and-drop graphic icons into an SSRS report format for most aspects of the SSRS report.
Reports defined by RDL can be downloaded to a variety of formats including Excel, PDF, CSV, XML, TIFF (and other image formats), and HTML Web Archive. SQL Server 2008 and 2012 SSRS can also prepare reports in Microsoft Word (DOC) format, while third-party report generators offer additional output formats.
Users can interact with the Report Server web service directly, or instead use Report Manager, a Web-based application that interfaces with the Report Server web service. With Report Manager, users can view, subscribe to, and manage reports as well as manage and maintain data sources and security settings. Report Manager can also deliver SQL reports by e-mail, or place them on a file share.
Typically the reports are only revealed to users able to run them, and SQL connections in the source allow anyone to run with sufficient privileges. This is because configuring Windows Authentication through the reports execution is laborious and time consuming: a Server Principal Name record (requiring DOMAIN ADMINISTRATOR access) is created in Active Directory associating the Sql Server Reporting service to the user the service runs under on the server (a network user to facilitate querying the Active Directory)... and the service account user has to have the delegation option enabled, the server must be trusted for delegation too; the windows users wishing to run reports must be set to allow delegation - so Kerberos authentication protocols will be used. The reporting service itself has to have the configuration edited to enable Kerberos protocols... but then the reports will be secure and only display data the individual users are permitted to (based on SQL security configuration).
RDL reports can be viewed by using the standalone Report Server that comes with Microsoft SQL Server, or by using the ASP.NET ReportViewer web control, or by using the ReportViewer Windows Forms control. The latter method allows reports to be embedded directly into web pages or .NET Windows applications. The ReportViewer control will process reports by: (a) server processing, where the report is rendered by the Report Server; or (b) local processing, where the control renders the RDL file itself.
SQL Server Reporting Services also support ad hoc reports: the designer develops a report schema and deploys it on the reporting server, where the user can choose relevant fields/data and generate reports. Users can then download the reports locally.
- Archiveddocs. "Reporting Services in SQL Server Express with Advanced Services". docs.microsoft.com.
- Capital), Ryan Majidimehr (H10. "ReportExecutionService.Render Method (ReportExecution2005)". docs.microsoft.com.
- Image Device Information Settings - SSRS can render BMP, EMF, GIF, JPEG, PNG, and TIFF.
- maggiesMSFT. "View Reporting Services Reports on Microsoft Surface Devices and Apple iOS Devices - SQL Server 2014 Reporting Services". docs.microsoft.com.
- Microsoft SQL Server: Reporting Services home page
- Microsoft SQL Server: Reporting Services resources page
- DNR TV: Reporting Services Part A
- DNR TV: Reporting Services Part B
- DNR TV: Reporting Services Part C
- SSRS with Visual Basic and Visual C#
- SSRS in your ASP.Net application
- PHP library for connecting to SSRS over SOAP
- Creating a Java proxy for SSRS
- Custom SSRS solution I white paper by MindHARBOR
- Microsoft SQL Azure Enterprise Application Development, ISBN 978-1-849680806, Jayaram Krishnaswamy, 2010
- Learn SQL Server Reporting Services 2008, ISBN 978-1-847196187, Jayaram Krishnaswamy, 2008
- Learning SQL Server Reporting Services 2012, ISBN 978-1-849689922, Jayaram Krishnaswamy, 2013
- Windows Authentication on SQL Server Reporting Services