You are on page 1of 39

SQL Server 2008 Reporting Services


Feature Overview Architecture Components Deployment Scenarios Performance

Traditional Reporting Challenges

Expensive and complex server-side solutions Proprietary report formats Limits to scalability Difficulties
Integrating with internal applications Embedding in line-of-business applications Automating delivery to a large internal or external audience Extending with additional features

SQL Server 2008 Reporting Services

Delivers enterprise, Web-enabled reporting functionality Queries a wide variety of data sources Publishes reports in various formats Supports pull- or push-driven report delivery Manages security on content and tasks centrally Scales to support thousands of users Enables extensions to core functionality Delivers ad hoc reporting capabilities

What is SSRS?
Server based reporting platform Framework comprising services, tools and APIs to implement, deploy and manage reporting solutions Leverages SQL Server, Windows Server and .NET framework infrastructure
Security Scalability Deployment Configuration

Feature Overview - Reports

Report from variety of data sources Multiple report layouts (table, matrix, tablix) Ad hoc reporting Interactivity (subreports and drillthrough) Multiple presentation formats Custom controls and report items Navigation Aggregations Graphical Elements

Feature Overview Deployment and Administration

Server based report storage, processing and management SharePoint Integration Graphical Configuration Report Manager Integration with SQL Management Studio and Configuration Manager Command line utilities Role Based Security

Feature Overview Access and Delivery

Desktop or Web Enabled SharePoint Web Parts My Reports and My Subscriptions E-mail, SharePoint and File Share delivery Data Driven Subscriptions

Feature Overview Programming and Extensibility

RDL SOAP API (Web Services) URL Access WMI Provider Extensible
Delivery Data Processing Rendering Security Report Processing

Architecture: Native Mode

Report Designer Model Designer Browser Microsoft Office Custom Applications Report Builder
Report Manager Report Viewer

Programmatic Interfaces: XML Web Service and URL Access Report Server
Report Builder Query generation Drill-through Report generation

Report Sources Output Formats

Report Processing Data Processing Rendering Report Server Databases Security Delivery

Security Services Delivery Channels

Architecture: SharePoint Integrated Mode

Report Designer Model Designer Browser Microsoft Office Custom Applications Report Builder
Report Manager Report Viewer

Programmatic Interfaces: XML Web Service and URL Access Report Server
Report Builder Query generation Drill-through Report generation

Report Server Proxy Endpoint

Report Sources

Report Processing Data Processing Document Mgmt

Output Formats

Rendering Report Server Databases


Security SharePoint Content Database

Collaboration Config Database

Components: Report Server

Implemented as an ASP.NET Web service Accessed by administrators to manage SSRS
Report Manager or SQL Server Management Studio RSS scripts or programmatic interfaces embedded in applications

Accessed by users to render reports by using

URL access in Report Manager or embedded in portals Programmatic interfaces embedded in applications

Components: Report Manager

Implemented as an ASP.NET Web application Launched by administrators to configure
Report Server properties Report execution properties Security

Launched by users to
Explore and view reports Subscribe to report delivery Launch Report Builder

Components: Miscellaneous
Report Builder 1.0
Delivers ad hoc reporting functionality

Report Designer / Report Builder 2.0

Enables the design of interactive, complex reports

Model Designer
Supports the development and deployment of report models used in Report Builder

Report Server Command-Prompt Utilities

Includes configuration utilities Includes the RS script host to perform scripted operations

Service Architecture

Service Architecture Changes

One service architecture
Easier to deploy, configure and manage

Does not depend on IIS

Report Server tools provide required IIS capabilities Do not need IIS on your database servers

Shares internal components with SQL Server

Network interfaces are shared with SQL Server Report Server service hosts ASP.NET in SQL CLR

Does not change deployment topologies

Supports SOAP, URL Access and Report Manager Upgrades are supported

Design Goal: Dont break anything!

Networking Capabilities
Reporting Services is not a general purpose web server!! Report Server supports HTTP and SSL
Specific IP address, host headers, multiple ports SSL certificates and usage Security modes
NTLM, Kerberos, Negotiate, Basic, Custom

Tools support is provided for common settings

Configuration tool is updated WMI API Support for setting URLs, SSL bindings

RS supports a W3C compliant HTTP request log

Can be analyzed using standard IIS tools

Report Server & IIS Coexistence

Report Server & IIS 6+ use HTTP.SYS
Single network stack built into Windows RS & IIS can share a single port Exception: Windows XP 32-bit due to IIS 5.1

HTTP.SYS sends requests to Report Server

RS makes explicit URL Reservations for is Virtual Directories IIS gets all requests not covered by explicit URL Reservations

SPN conflicts are possible

Solved by running RS under the Network Service account Alternately, configure host headers and specific SPNs

IIS is not required for RS to function

URL Reservations
URL Reservations (URLs) replace IIS Web Sites
Used to direct requests to a particular service Define the protocol, URL String, port, and virtual directory

Multiple URL Reservations are allowed

Independently specified for Report Server, Report Manager Recommend using identical URLs for both

Virtual Directory is simplified

In IIS, Virtual Directories have many settings In RS 2008, Virtual Directory is just a name Only one virtual directory name is allowed for RS or RM

URL Reservation Hierarchy

Name All Assigned (Strong Wild card) URL Reservation http://+:80/vdir Meaning Get all requests on port 80 for the vdir. http://computername/vdir Only get requests that explicitly ask for on port 80 for the vdir. Get any request NOT handled by someone else


All Unassigned (Weak Wild Card)


IIS behaves like All Unassigned reservations RS makes All Assigned reservations by default Recommend making All Assigned URL reservations

Deployment Differences
Some IIS functionality is not provided
Anonymous and Digest authentication Client certificates

ISAPIs are not supported

Use ASP.NET HTTP Modules instead Most impact to Single Sign-On (SSO) solutions ISA server is the recommended solution



Deployment Scenarios
Local Catalog Remote Catalog Scale-out Deployment

Local Catalog
SMTP HTTP Listener Report Manager Report Server MSSQL
BI Developer Studio / Report Designer Client

Report Author

Report Designer Client

Report Server Catalog

Remote Catalog

IIS Listener HTTP

Report Manager Report Server


MSSQL Report Server Catalog

Scale-out Deployment
User Scale-out - Virtual Report Server MSRS
HTTP Listener


HTTP Listener

Report Manager

Report Manager


Report Server

Report Server



Report Server Catalog

Failover Cluster

Report Server Catalog

Connections Used in a Reporting Services Deployment

Deploying RS 2008 at a Glance

Usage Scenario Applications built for RS 2005 Applications built for RS 2000 RS Database hosted in SQL 2008 RS Database hosted in SQL 2005 RS Database hosted in SQL 2000 SharePoint integration SharePoint v2 WebParts Single Server deployment Multi-Server deployment Scale-out deployment Support Statement Continue to work RS 2000 SOAP APIs are not supported URL Access will work Supported Supported Not supported New RS 2008 SharePoint Add-in is provided Supported Supported Supported - RS on computer 1 and RSDB on computer 2 Supported

Memory Management
Server infrastructure for process memory monitoring
Dynamic, self-managing with memory pressure Reduces throughput in memory pressure situations

File system cache

Used to adapt to memory pressure Used when processing receives memory events from server

Administrator is able to set targets (Min, Max)

Minimum threshold defines the amount of memory the server thinks belongs to it The memory is used only if a request needs it Maximum threshold defines the not to exceed value

Adapts to other processes consuming memory

Memory Pressure Response

Low Medium
Memory allocation for all components reduced Larger reductions to background process

Memory allocation further reduced Memory requests denied In memory data moved to disk

Memory Configuration
Default = machine memory no new memory allocations are granted

Default = 60% of WorkingSetMaximum

% of Max defines boundary between high and medium Default = 90%

% of Max defines boundary between low and medium Default = 80%

Configuration Files
<install>\Reporting Services\ReportServer RSReportServer.config
Settings for Report Manager, WS and background

CAS for server extensions

Trace and logging levels for the service

Web service

Configuration Files
<install>\Reporting Services\ReportManager RSMgrPolicy.config
CAS for Report Manager

Report Manager

BIDS report designer <drive>:\Program Files \Microsoft Visual Studio 8 \Common7 \IDE \PrivateAssemblies.

CAS policy for server extensions during preview <drive>:\Program Files \Microsoft SQL Server \100 \Tools \ReportDesigner

Report Server Execution Log

Report Server Service Trace Log

\Microsoft SQL Server\<Instance Name>\Reporting Services\LogFiles

Report Server HTTP Log

Location same as above

Windows Application Event Log

Query Execution Log Data Create a table Copy data from RS instance to new table Query data (sample reports provided)

Performance Options
Performance Counters
SSRS 2008 Web Service SSRS 2008 Windows Service Report Server: Service .NET CLR Data and .NET CLR Memory

Rendering Reports
On demand report rendering
Improves time to first page (one page at a time) Configure large reports for pagination

Fastest formats

PDF (CPU), Excel (RAM)



2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.