29
What is SQL Server Reporting Services? Reporting Services helps business to Transform raw data (table data) into graphical like chart, histogram etc. to add meaning to raw data. For example, the table below having a data but the moment that data was presented in chart, that added more business meaning to data. SQL Server Reporting Services can query and display data from any of the multiple databases and represent in a way which is more understandable to users. What are the tools available in market as an Alternative to SQL Server Reporting Services / (Business Intelligence tools) ? Market is full of business intelligence tools here are few listed of them, Actuate Hyperion (BRIO) SIEBEL-CRM BusinessOb jects Oracle Express OLAP Qlikview Cognos Informatica Power Analyzer Proclarity IntelliVie w Dundas Chart for .NET MS-Excel SAS MicroStrategies Pentaho

SQL Server Reporting Services

Embed Size (px)

Citation preview

Page 1: SQL Server Reporting Services

What is SQL Server Reporting Services?

Reporting Services helps business to Transform raw data (table data) into graphical like

chart, histogram etc. to add meaning to raw data.

For example, the table below having a data but the moment that data was presented in

chart, that added more business meaning to data.

SQL Server Reporting Services can query and display data from any of the multiple

databases and represent in a way which is more understandable to users.

What are the tools available in market as an Alternative to SQL Server

Reporting Services / (Business Intelligence tools) ?

Market is full of business intelligence tools here are few listed of them,

Actuate Hyperion (BRIO) SIEBEL-CRM

BusinessObj

ects

Oracle Express OLAP Qlikview

Cognos Informatica Power Analyzer Proclarity

IntelliView Dundas Chart for .NET MS-Excel

SAS MicroStrategies Pentaho

Open Source solutions

Page 2: SQL Server Reporting Services

· Jasper Reports

· JFreeReport

· BIRT (Business Intelligence Reporting Tools)

· OpenReport

· DataVision

· Pentaho

What is reporting lifecycle ?

Reporting Services has three mainly three phases

1. Development of Reports (Developer) – First of all a report needs to be design

which is primarily done by report developer

2. Management of Reports (DBA) – Once the Report is being developed, DBA need to

ensure

1. Security – Only authorized user should access the report

2. Execution – How the report will be executed to optimize data sources performance

3. Scheduling of reports – so that report are executed on scheduled timings

3. Report Delivery (DBA+Developer) – Once the report is being developed and

executed now the report should be reached to final recipients (business users) who are

going to understand / analyze report data. if any changes, we again go back to

development stage.

What is Reporting Services Architecture ?

Reporting Services is a .NET framework-based platform that includes a comprehensive

tools that we can use to integrate reporting solution into any centrally-managed

environment. CLICK HERE(http://goo.gl/LwBRj) for more details

What can we do with SQL Server Reporting Services ?

Page 3: SQL Server Reporting Services

Reporting Services can help you in building and deploying fully interactive scorecards,

dashboards, and enterprise reports.

SQL Server Reporting Services Feature

· Design ad-hoc dashboards and reports quickly

· Data is interactive and available everywhere even on your IPAD / IPHONE.

· This is bundle product with SQL Server database services, so there is additional cost

for this service.

· .Net integrated for rapid development for report even in few clicks by using wizards.

By using Reporting Services, we can build up a solution which is kind of Google maps,

where we can list our all business locations.

Check out video post to learn, “How to Integrate Map with SQL Server Reporting

Services”

What are the New Features of SQL Server 2008 R2 Reporting Services ?

Lot of new features were added in SQL Server 2008 R2, like

· New Report Types – Table, Matrix, List, Chart, Sub report

· New Tools added to report designer Toolbox

· Report Data Panel -  built in page numbers

· Report Builder 3.0

For details for new feature of SQL Server 2008 R2, please check my previous post, “SQL

Server Reporting Services R2 – New Features”

What are the new features are introduced in SQL Server 2012 reporting

services?

SQL Server 2012 has introduced a couple of new features like

· Power View - interactive data exploration

Page 4: SQL Server Reporting Services

· SQL Server 2012 is fully integrated with SharePoint

· Introduction to Data Alerts, data alerts are a data-driven alerting solution that

informs you about changes in report data that are of interest to you, and at a relevant

time

· SQL Server Data tool

· new rendering extensions supports MS Office 2010

· Project Crescent is being introduced

DBA (Production Support) Prospective

What are the tasks which are mainly performed by a production DBA on a SQL

Server Reporting Services ?

Operational support DBA are mainly responsible for

· Install and Configure reporting services

· Backing up Reporting Services (including databases, config files and encryption keys)

· Deploying new reports

· create and manage shared data sources

· Optimizing reports – Enable caching of reports

· Authorize users for reports

· Create and deploy security roles.

· Check Reporting Services Error Logs for errors

· Maintain response time of reporting services

Can we run Reporting Services with SQL Server Express Edition, which is a

free version of SQL Server ?

Yes, SQL Server Express Edition with Advanced Services support Reporting Services. we

can use SQL Server Express Edition for deploying reporting Services.

Page 5: SQL Server Reporting Services

What are the limitations in Reporting Services on SQL Server Express Edition ?

Microsoft offers reporting services free as part of SQL Server Express with Advance

Services edition but following restrictions will be applicable to this edition.

· SQL Server Management Studio Express cannot be used to administer report server

· Report Models will not be available

· Other features like Caching, History and Delivery of Report is not available.

· Report Builder is not available

· Local SQL Server is a only option, which can be used as Report Data Source.

· We cannot store the report server database on a remote server, it has to be local only.

· Reports can be rendered only in Excel, PDF, Image formats only

· No SQL Server agent is available, so no scheduling is possible.

· Reporting Services will not be able to use more than 1 GB of RAM

· No Subscriptions (Standard and Data Driven) can be made

· Can not be integrated with Share Point

· Only named instances is supported

· Scale-out Report Servers will not be available

· Can not implement Role based security.

How to Install SQL Server Express with Reporting Services ?

For Step by Step instructions, Please check my previous post, “How to Install SQL Server

Express with Reporting Services”

What are the parameters which should be considered for Reporting Services

Disk storage requirement ?

There are various factors to be considers as a primary I would consider

Page 6: SQL Server Reporting Services

1. Number of reports to be hosted server

2. Report size and frequency of reports

3. Number of snapshots to be saved

Can I configure SQL Server Reporting Services on a Windows cluster for High

availability ?

Please check my previous post, “Installing & Configuring SQL Server Reporting Services

on Cluster Environment for High Availability” to understand how reporting services

works on cluster.

What is ReportServer and ReportServerTempDB ?

Reporting Services uses two SQL Server databases for storage by default, the databases

are namedReportServer andReportServerTempdb.

ReportServer is a main database, which store all internal configuration and report

meta data where asReportServerTempdb is used to store temporary data, session

information, and cached reports.

How to backup SQL Server Reporting Services ?

There are mainly three things, which should be backed up as part of reporting services

backup

1. Report Server Databases, which can be backed up by SQL server backup and

restore method. Check my previous Video post, “HOW to BACKUP SQL”

2. SQL Server Reporting Services Configuration, SQL Server Reporting Services

Configuration is saved in config files, which can be copied as part of backup. look for

other to know config files and there location.

3. Encryption Keys backup , use SQL Server Reporting Services Configuration tool to

backup symmetric keys.

What is encryption key ?

Page 7: SQL Server Reporting Services

Encryption keys are used by the report server so that items such as connection strings

are maintained securely. these keys are required in case you want to perform

restoration of report server databases.

How to backup encryption key ?

Encryption Keys backup , use SQL Server Reporting Services Configuration tool to

backup symmetric keys.

Can we install a 32-bit version of SQL Server Reporting Services on a

computer that is running a 64-bit version of Windows?

YES, we can install SQL Server 32 bit on Windows 64 bit version. SQL Server Reporting

services are part of SQL Server.

Where the SQL Server Reporting Configuration is saved, is that in registry ?

NO, all SQL Server configuration is saved in configuration files (.xml files)

What are the key configuration files for SQL Server Reporting Services ?

Mostly all Configuration files located at Install Directory\Microsoft SQL Server

\<SQL Server Instance>\Reporting Services\ReportServer and  ReportManager

· RSReportServer.config stores configuration settings for feature areas of the Report

Server service: ReportManager, the Report Server Web service, and background

processing.

· RSSrvPolicy.config stores code access security policies for the server extensions.

· RSMgrPolicy.config stores code access security policies for Report Manager

· ReportingServicesService.exe.config stores configuration settings that specify the

trace levels and logging options for the Report Server service.

Other Files

· RSReportDesigner.config contains settings for Report Designer and this file is

located in the..\Program Files\Visual Studio 9.0\Common7\IDE\PrivateAssemblies

Page 8: SQL Server Reporting Services

· RSPreviewPolicy.config stores server extensions used during report preview and

this file is located in ..\Program Files \Microsoft SQL Server\100\Tools \ReportDesigner

What are the mostly used PERFMON Counters for monitoring SQL Server

Reporting Services?

This is bit tricky and everyone has his own answer, but I personally choose the following

at least

· ReportServer: Service Performance Object \ Active Connections

· ReportServer: Service Performance Object \ Report Executed per second

· ReportServer: Service Performance Object \ Total Cache Hits

· ReportServer: Service Performance Object \ Total Requests

· Web Service \ Deliveries per second

· Web Service \ Total processing failures

What all should be backed as part of reporting Services ?

1. Report server databases (ReportServer and ReporterverTempdb)

2. Encryption keys and

3. Configuration Files (xml files)

1. RSReportServer.config,

2. RSSrvPolicy.config,

3. RSMgrPolicy.config,

4. ReportingServicesService.exe.config,

5. RSReportDesigner.config and

6. RSPreviewPolicy.config

How to backup up Encryption Keys?

Page 9: SQL Server Reporting Services

Use SQL Server Reporting Services Configuration tool to backup symmetric keys

Questions for Developer as well as Developers (depends on profile)

What are the tools which are being offered by Microsoft SQL Server for

Developers?

· Report Designer, used to develop reports in Business Intelligence Development

Studio (BIDS) and then publish them to a Report Server

· Model Designer, used create a report model that Report Builder users uses to help

them build on-demand reports.

· Report Builder – used to build reports without having to understand the underlying

data source structures in the database

Note – These are built in tools with Microsoft SQL Server, there is no additional cost for

using these tools.

What are the tools which are being offered by Microsoft SQL Server for DBA’s?

· Report Manager – a web-based report access and management tool to browse

existing reports, upload new reports, and other properties like execution properties,

security, and subscriptions.

· Reporting Services Configuration –used to configure a report server like report

server databases, SMTP server and services properties.

· SQL Server Management Studio (SSMS) -  an alternative to Report Manager,

which is primarily being used by DBA’s for managing reports.

Note – These are built in tools with Microsoft SQL Server, there is no additional cost for

using these tools.

How to deploy reports ?

Reports can be deployed by using BIDS (Business Intelligence development Studio ) or

by Report Manager which is web based application. Please see previous post, “How to

deploy report to SQL Server Reporting Services”

Can I deploy a report at multiple servers at one go ?

Page 10: SQL Server Reporting Services

NO, native SQL Server Reporting services doesn’t supports this functionality but we can

deploy reports directly to multiple servers at one go but this functionality is not built in,

we need to buy some third party tools.

What is Report Builder ?

Report builder is used to create small reports and it a define interface. You can’t change

the report interface in report builder it pre designed. You can just drag columns in the

report.

Report builder creates reports on database objects available with report model project.

Please check my previous Video post, ”How to Install Report Builder 3.0”

What is report rendering ?

Exporting a report data with design o different type of file types is knows as Report

rending. SQL Server Reporting Services supports multiple rendering extensions like

Word, Excel, CSV, PDF, HTML etc.

Can I disable | restrict SQL Server Reporting Services Export Formats

(Rendering Formats) ?

YES, we can restrict Reporting services export formats.

SQL Server Reporting Services (SSRS) supports export to different formats like XML,

CSV, HTML, PDF, etc., when you view the report.  This export option is available at

report viewer Export drop-down list.

We can control this via report services server configuration file which is available at “C:\

Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\Report

Server\ rsreportserver.config“.

For More details, please check my previous post “How to Disable/restrict SSRS Export

format ?”

How to migrate SQL Server 2008 Reporting Services to another computer?

If you are trying to migrate only SQL Server reporting services to new server, then we

have an option to install reporting services on new server and while configuring report

server, we can point report server services to old report database database.

Page 11: SQL Server Reporting Services

Or incase, you are trying to migrate report server databases and reporting service

together, the install reporting services on new instance and restore configuration files 

and restore report server databases and reconfigure the report server services.

How to check how frequent report is being called ?

Check Report history either from SSMS or Report manager. In report manager, go to

report and select history tab. check here for more details

What is Report Caching ?

Report caching is a performance enhancing technique in Reporting Services that saves

copies of reports for faster viewing. Cached instances have an expiration time set to

force a refresh of the data set used

for the report.

In case you have filters in your report, when filters will be applied in Cached

Report instance ?

Filters are applied when a report is rendered, Filters will not create a new cached

instance on the Report Server.

What is report snapshot ?

Snapshot means a instance of a report for future reference, that means a copy of report

(data is freezed) will be saved on a report server for future reference.

What is Data Driven Subscription ?

Subscriptions are used to deliver rendered reports to business users at specified

schedule. For example, a sales report should go to sales manager daily at 7:00 AM for

last day report. This is kind of pushing reports on a schedule. By creating subscription,

we can send reports to users in e-mail or Deliver to a file share

or can put report in Microsoft Office SharePoint server

A data-driven subscription can deliver a report in many rendered formats to many

destinations. For example, USER1 wants report in XML format and USER 2 wants in a pdf

format and user 3 wants in word but that too on a shared drive.

Page 12: SQL Server Reporting Services

To meet these objective we can use Data-driven subscriptions as data driven 

subscription require a database table to store all these report values so that these

values can be used during processing.

How to upgrade report from SQL Server 2005 to SQL Server 2008?

SQL Server Setup is used to upgrade SQL Server Reporting Services. Run the SQL

Server 2008 setup on existing SQL Server 2005 and opt for upgrade.

Developer (Report Designer) Prospective

Any Idea, how to to build / design Report using Visual Studio?

Building Reports using Visual Studio is quite easy, Please check my previous Video

POST, “How to create a report using Visual Studio 2008?” which describes

1. how to build a report using Visual Studio 2008

2. deploy report to SQL Server Reporting Services

3. How to create an shared data sources

4. How to design a report

5. How to add interactive sorting Change

6. Run the report in SSRS

What is Parameterized Reports in SSRS ?

You often need more advanced reporting such as drop down lists and the ability to use

parameters when working in Sql Server Reporting Services. Please check VIDEO

Tutorial, “How to make Parameterized Reports in SSRS”  which describes,

· How to use variables that have not been declared in SSRS vs TSQL

· How to create report with auto-Parameterization

· How to View Report Parameters

· How to create a drop-down list

Page 13: SQL Server Reporting Services

What are different types of reports are available ?

There is as such not any type of of reports, but we can categories them as

Tabular Report – where we represent data in rows and columns format. (Now this is

non as Tablix which is mixture of table and a matrix)

CHART REPORTS – where we represent the data in graphical format mainly in charts?

further more these reports can fetch data either from relational database (TSQL

REPORTS category) or from CUBES (MDX Reports)

What sort of query we can write in SSRS, is that just SQL / TSQL or is there

anything else too?

· MDX – for OLAP / CUBE data sources

· DMX – for data mining

Can you edit a report that an end user created by using Report Builder in

BIDS?

Yes, if an end user created a report by using Report Builder in BIDS and saved the

report definition file, you can open the file in BIDS and edit it.

What is Sub report ?

SUB report is very helpful when the detail of a report’s data region is so complex that a

separate report is a better option then using other tools.

Can sub report data source be different from that of the parent report ?

YES, sub report data source can be different from that of the parent report.

What are the various ways to deploy reports ?

Reports can be deployed to report server by using any of the following method

· BIDS

· Computer Management console

Page 14: SQL Server Reporting Services

· .nET START command

· SSMS

· Report Manager

but normally BIDS  and Report managers are mostly used.

Can we use Analysis Services Database as a data source with Model

Designer ?

NO, Model Designer doesn’t access data from Analysis Services cubes.

What is report subscription?

Subscriptions are standing requests to deliver report data to requested recipients. Once

the report is being subscribed and subscriber will get updates from report server on

scheduled interval.

What is the RDL file?

RDL stands for Report Definition Language, when we design a report using any tool like

BIDS and when we save the report, it’s saved as .rdl file, RDL file is an kind of xml code,

which stores the design of the report.

This RDL file is being used  for deploying report to report server.

Can you use a stored procedure to provide data to an SSRS report?

Yes, you can use a stored procedure. However, your stored procedure should return

only a single result set. If it returns multiple result sets, only the first one is used for the

report dataset.

How to deploy Reports on SQL Server Reporting Services ?

Please check my previous VIDEO post to learn, Step by Step Learning, How to deploy

report to SQL Server Reporting Services 2008

How can I build my first report which is ready to deploy in SQL Server

Reporting Services ?

Page 15: SQL Server Reporting Services

Please check my previous blog post, Introduction to SQL Server Reporting Services, for

a brief video tutorial for SQL Server Report designer.

Solution Architect prospective

IT Manager prospective

Can we run Reporting Services with SQL Server Express Edition, which is a

free version of SQL Server ?

Yes, SQL Server 2005 Express Edition with Advanced Services support Reporting

Services. we can use SQL Server Express Edition for deploying reporting Services. For

more details to know SQL Server Express Limitations, please check my previous post,

“What are the limitations in Reporting Services on SQL Server Express Edition”

Is there any free tools to build reports ?

YES, there are log of open source code solution are available, which can used to design

reports, here are few listed.

· Jasper Reports

· JFreeReport

· BIRT (Business Intelligence Reporting Tools)

· OpenReport

· DataVision

· Pentaho

What are the product alternatives to SQL Server Reporting Services ?

Market of full of tools and here are few of them

Actuate Hyperion (BRIO) SIEBEL-CRM

BusinessObj

ects

Oracle Express OLAP Qlikview

Cognos Informatica Power Analyzer Proclarity

Page 16: SQL Server Reporting Services

IntelliView Dundas Chart for .NET MS-Excel

SAS MicroStrategies Pentaho

How many instances of Reporting Services can be managed by a single DBA ?

This is pretty tricky questions, and there is not any single formula to decide this. This all

depends on what sort of monitoring tools you have and what sort of automation you

have achieved.

But as per my understanding and calculations a single 3-7 year experience DBA without

any third party tool can easily deploy 25-35 report in a day, which is one time activity

for most of the organizations and DBA can easily monitor / provide production support

to 25-40 instances of SQL Server, which included daily

· Monitor Event Viewers

· Check SQL Server Errors

· Check Reporting Services Logs

· Monitor Perfmon counters

· Backup all databases

· check schedule sql jobs etc.

but I believe, without any tool (just using manual / Script) we can assume 1 DBA for

every 25 servers is ideal number to focus more on preventive actions rather then

corrective actions.

Is my data is safe, What all we are backing up for SQL Server Reporting

Services ?

There are mainly three things, which should be backed up as part of reporting services

backup

Page 17: SQL Server Reporting Services

1. Report Server Databases, which can be backed up by SQL server backup and

restore method. Check my previous Video post, “HOW to BACKUP SQL”

2. SQL Server Reporting Services Configuration, SQL Server Reporting Services

Configuration is saved in config files, which can be copied as part of backup. look for

other to know config files and there location.

3. Encryption Keys backup , use SQL Server Reporting Services Configuration tool to

backup symmetric keys.

• What is Query parameter in SSRS?

Query parameters is mentioned in the query of the datasources that are to be included into the SQL

script’s WHERE clause of the SQL that can accept parameters. Query parameters begin with the

symbol @.The name should not contain spaces and can not begin with numeral. For clarity, we use

only letters.

• What are the Reporting Service Components in SSRS?

Report Designer: A place where we can create report. Report Server: Provides services for

implementation and delivery of reports. Report Manager: A Web-based administration tool for

managing the Report Server.

• What is a matrix in SSRS?

A matrix is a data region linked to a report set. Matrix allows us to create crosstab reports with the

report variables displaying on rows and columns. It allows us to drag and drop fields into it.

• What are sub reports and how to create them?

A sub report is like any other reports which can be called in main report and can be generate

through main report. Parameters can be passed from main report to sub report and basis of

that report can be generated.

• What is the report model project?

Report model project is for creating Adhoc reporting. You can create the adhoc reports

through report builder. Report model project can be created on bids or report server. This

model can have simple view. And using

• What is report server project?

Report Server Project contains the RDL file and it need to be deployed on report server to

view the report files to application and user.

It a solution where we design our reports. You can add it by going into BIDS clicking on

new item and then selecting reports server project. Once the solution is created you can start

creating reports.

• What is the report builder?

Report builder is used to create small reports and it a define interface. You can’t change the

Page 18: SQL Server Reporting Services

report interface in report builder it pre designed. You can just drag columns in the report.

Report builder creates reports on database objects available with report model project.

• In which SQL Server version report builder introduced?

Report builder introduced in SQL Server 2005. While creating or deploying report model

project on report server you can get error or it might not get created. For this you need to

check whether the service pack 22 is installed or not.

• How to deploy the Report?

Report can be deployed in three ways.

1. Using visual studio: In visual studio you can directly deploy the report through

solution explorer by providing the report server URL in project properties at Target

Server URL. This will deploy entire project or single report as per you selection.

2. Using report server: Can directly go to the report server and deploy the report by

browsing the report from the disk location on server.

3. Creating the utility: SQL server provides the utility using that which can be used to

create a customize utility for your report deployment in bulk.

• What is RS.exe utility?

Rs.exe utility is used for deploying the report on report server. It comes with the report

server and can be customize accordingly.

• What is the name of reporting services config file and what’s it’s used

for?

Reporting service config file is used for report configuration details. It contains the report

format and also the report import types. Report service config reside at ISS.

• What are the three different part of RDL file explain them?

In visual studio RDL files has three parts.

1. Data: It contains the dataset on which we write the query. Data set is connected with

data source.

2. Design: In design you can design report. Can create tables and matrix reports. Drag

columns values from source.

3. Preview: to check the preview after the report run.

• Which language rdl files made of?

RDL files are written in XML.

• What is the chart in report?

Chart reports are for graphical representation. You can get pie charts columns harts and

various other options.

3d charts are also available in reporting services.

• What is Data Set in report?

Data set are the set of data which we want to show in report. Data creates on data source.

Page 19: SQL Server Reporting Services

Data source is the source of data from where we are getting this data i.e. database server and

database name connection string.

• What are the different types of data sources in SSRS?

SSRS use different data source. Some of them are listed below.

1. Microsoft SQL Server

2. OLEDB

3. Oracle

4. ODBC

5. SQL Server Analysis Service

6. Report Server Model

7. SAP Net weaver BI

8. Hyperion

9. Teradata

10. XML

• What is the web service used for reporting services?

Reporting Service Web Service used in SSRS. By accessing this web service you can access all

report server component and also get the report deployed on report server.

• How to add the custom code in Report?

To add the custom codes in report go to report tab on top then properties and there you will

find the options for custom code.

• What is a cache in SSRS?

Report server can lay up a copy of processed report in a memory and return the copy when a user

opens the report. This server memory is known as cache and the process is called caching.

• What is report snapshot in SSRS?

Report snapshot is a report which contains layout information and a dataset that is extracted at a

particular point of time. When the new snapshot is created the previous report snapshot will be

overwritten.

• What is bookmark link in SSRS?

Bookmark is a link which a person clicks to shift to a different area or page in a report. We can insert

bookmarks links only to textboxes and images.

• What is Command parameter in SSRS?

A Command parameter is used to forward protocol to the Report Server regarding the item that has

been retrieved. Command parameter is also used for rearranging a user’s session information.

• What is Format parameter in SSRS?

Format parameter is used to control report output. Every delivering format on Report Server has to

pass through this parameter.

Page 20: SQL Server Reporting Services

• What is Snapshot parameter in SSRS?

When a report is saved in a snapshot history, it is allocated a time or date to uniquely identify that

report. Snapshot parameter is used to get back these historical reports by passing this time or date to

get proper report.

• What are the rendering extensions of SSRS?

Rendering extensions manage the category of document produced when a report is processed.

Rendering Extensions are: HTML, MHTML, EXCEL, CSV, IMAGE, PDF, and XML.

• What is a ReportItem in SSRS?

A ReportItem is one of the subsequent types of items: Rectangle, Textbox, Image, Subreport, Line,

CustomReportItem, List, Table, Matrix or Chart.

• What is Datasets in SSRS?

Dataset elements have information about the sets of data recovered as a part of the report.

• What are the main components of reporting services?

The main components of Reporting Services are

1. Report designer2. Report server3. Report manager4. Report user.

• What is Report Designer?

Report Designer is a collection of graphical query and design tools that are hosted within the

Microsoft Visual Studio environment.

Report Designer provides a Report Data pane to organize data used in your report, and tabbed views

for Design and Preview so that you can design a report interactively.

Report Designer also provides query designers to help specify data to retrieve from data sources and

the Expression dialog to specify report data to use in the report layout.

When the report is complete, you can use Report Designer to preview the report and publish it

directly to the report server.

• What is Report manager?

Report Manager is a Web-based report access and management tool that you use to administer a

single report server instance from a remote location over an HTTP connection. You can also use

Report Manager for its report viewer and navigation features.

You can use Report Manager to browse the report server folders or search for specific reports. You

can view a report, its general properties, and past copies of the report that are captured in report

history.

• What is Report Builder?

Web-based tool to create reports

Page 21: SQL Server Reporting Services

Come free with SQL Server 2005

Launch Report Builder 1.0 to create ad hoc reports that you can save and run on the report server.

Users build desired reports themselves; can export to Word, Excel, PDF, and more

• What is Report Server?

The report server is the central component of a Reporting Services installation. It consists of a pair of

core processors plus a collection of special-purpose extensions that handle authentication, data

processing, rendering, and delivery operations.

SSRS provides the option of toggle the data on + operator.  Toggle when you want to enable a user to interactively show or hide report items or, for a table or matrix, rows and columns associated with a group.Toggling is like drill down report where you hide's summary at initial level which can be viewed b user when required.

Solution

Following are some general questions about SSRS development to see if general working knowledge of SSRS is known.

1) What are the different kinds of SSRS Reports?

Reports can be categorized into operational and analytical reports. The distinction is based on the source of data and level of analysis facilitated by any particular report. Operational reports are based on OLTP sources and are static reports and Analytical reports are based on OLAP sources and generally facilitate drill-down and drill-through for analysis. Technically, SSRS reports can be categorized into parameterized, linked, snapshot, cached, etc...

Further Reading

2) What are parameterized reports? What are cascading parameters in SSRS reports?

Reports that accept parameters from users to fetch and report data conditionally, are known as parameterized reports. When you have multiple parameters in a report and values of different parameters are dependent and populated dynamically based on the value of parent parameters, it's known as a cascading parameter.

Further Reading

3) How would you go about developing a SSRS report?

General development methodology for a SSRS report is to start by creating a data source. Based on the data source create one or multiple datasets as needed for parameters and the body of the report. Add required controls from the toolbox which

Page 22: SQL Server Reporting Services

would act as a container for the fields in the dataset. Format the controls added to the report body.  Verify and validate the report and finally deploy the report.

Further Reading

4) What is a dataset and what are the different types of datasets?

A dataset is similar to a query definition, which is executed when the report is executed. Datasets are of two types: Shared and Embedded. An embedded dataset is private to the report in which it exists and shared datasets can be shared across reports.

Further Reading

5) Would you store your query in a SSRS report or a Database server? State the reason why.

Storing SQL queries directly in text format in the dataset, should be avoided. Ideally it should be stored in a stored procedure in the database server. The benefit is that the SQL would be in a compiled format in a SP and brings all the benefits of using an SP compared to using an ad-hoc query from the report.

Further Reading

6) What is Tablix?

A Tablix can be seen as a control with combined capabilities of a table and a matrix, which facilitates asymmetric and flexible, row and column level, static and dynamic groupings.

Further Reading

7) How would you access SSRS reports deployed on report server?

Reports Manager is the most straight-forward way to access SSRS reports deployed on report server. Apart from executing the reports, it is the main administration console for SSRS server to manage reports.

Further Reading

8) Have you used the Report Viewer control / web part? What are the limitations?

The report viewer control / web part is the basic control to integrate SSRS reports with external applications. Using these interface applications can link and display SSRS reports within the application. The parameters toolbar in these controls have a limited programmable interface to decorate and blend it with the theme of the application.

Further Reading

9) Which is the latest version of SSRS and what are the new enhancements?

SSRS 2008 R2 is the latest RTM version of SSRS. Rich data visualizations, better programming functions for lookup and aggregation, improved performance and better control over exported data are some of the major enhancements.

Further Reading

10) What is Report Builder?

Page 23: SQL Server Reporting Services

Report Builder is an ad-hoc report authoring tool primarily targeted to be used by business analysts to facilitate self-service report authoring. Report Builder 3.0 is the latest version available as of date.

Further Reading

11) How would you deploy SSRS Reports using out-of-box functionality and how can you automate SSRS report deployment?

Business Intelligence Development Studio is generally used to deploy SSRS reports. There is no out-of-box support in SSRS to automate reports deployment, but free third-party products like RSScripter can be used for this.

Further Reading

12) What is drill-down and drill-through in SSRS?

Drill-down is a mechanism of decomposing summarized information to a detailed level. Drill-through is a mechanism of decomposing the problem by drilling information generally using more than one report.

Further Reading Further Reading

Problem

SQL Server Reporting Services 2008 (SSRS 2008) starts up slowly after a period of inactivity when I try to access the reports page. Sometimes it's slow accessing it just half an hour later, sometimes hours later, or next day, but I can't figure out why or the pattern behind it? Check out this tip to learn more.

Solution

There are two key factors that impact Reporting Services slow start ups when it has been inactive for a period of time.

SSRS Configuration (Recycle Time) Memory Pressure

It's important to understand factors mentioned above.  So let's dive in.

SSRS Configuration

SSRS has a XML configuration file with a setting for "Recycle Time". The recycle time is a scheduled timer in minutes based on when the last time SSRS has been manually restarted by a user. When a recycle occurs idle resources within SSRS are freed. This value can be changed to allow SSRS to keep resources for a longer period to prevent slowdowns due to re-initializing SSRS resources. SSRS is configured to recycle itself every 720 minutes, or 12 hours as shown below in the sample rsreportserver.config configuration file. This file is located in your SSRS installation directory, for exampleC:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer

Page 24: SQL Server Reporting Services

‹Service›   ...   ...   ‹RecycleTime›720‹/RecycleTime›   ...   ...

In the code above, the Recycle Time is every 720 minutes, but can be changed in rsreportserver.config. Since SSRS will recycle itself every 720 minutes, this initially leads to a slow start for the first user or process accessing it. Afterwards once users begin using the system there should not be slow responses as long as SSRS is actively used until the Recycle Time occurs again in 720 minutes.

The Recycle Time uses the last date and time SSRS was restarted as its reference point. SSRS will use that restart time as the current date and time to schedule Recycle Time from the configuration file. For example if Recycle Time is set for 720 minutes, and SSRS was restarted at midnight 00:00, then 720 minutes later at 12:00 noon, SSRS will recycle itself. Afterwards 720 minutes later at midnight 00:00 SSRS will be recycled again, and so forth. This recycling of SSRS continues indefinitely to free up resources.

Since the best time for SSRS Recycle time will depend on each company's usage. It might be best to do some analysis when SSRS is not being heavily utilized. By default it's recycled every 12 hours, but it could be better to keep SSRS active for longer period if there report requests are being processed.

For example we have a company with offices in New York, San Francisco, and Honolulu. The Report Server is located on the East coast. East coast time is 6 hours ahead of Hawaii-Aleutian Standard Time (HST). SSRS is heavily used in all office locations between the hours of 6am and 5pm daily. Since SSRS Server is located on the East coast, we can determine that at 5PM HST it will be 11PM Eastern Standard Time (EST). Based on the default configuration file, the Recycle time of 720 minutes will be too short a time window for the Honolulu office. A solution will be to change the Recycle Time to 17 hours between 6am EST to 5PM HST, but for simplicity we can use a 24 hour Recycle Time.

To plan the recycle time, we would need to do the following:

1. Schedule restarting SSRS at 11PM EST2. Modify Recycle Time in the XML configuration file to 1440 minutes, which is

equivalent to 24 hours.

‹Service›   ...   ...   ‹RecycleTime›1440‹/RecycleTime›   ...   ...

As an SSRS administrator you can work with your customer base to determine a time that works best for your company.

Page 25: SQL Server Reporting Services

SQL Server Reporting Services Memory Pressure

Depending on the size of your organization a stand-alone Report Server may be cost prohibitive. In those circumstances, some deployments of SSRS are on a shared machine with SQL Server and other applications/processes.  Since SSRS is running on a shared machine during the day, when RAM by applications/services are needed, Windows decides SSRS as one of its victims to take away RAM if it has been idle.  The simple solution to this issue is to add more RAM, but in most cases that might not be possible.

There are two strategies to address this issue.  First is scheduling periodic reports throughout the day and the second option is to adjust minimum RAM for SSRS to manage memory pressure.  Both options require some estimation and planning to be successful.

The first is a work around to maintain activity to prevent SSRS from becoming idle. Periodic reports generated throughout the day will keep SSRS active and can prevent Windows from taking away RAM. It's the reason during busy periods of the day SSRS does not take a long time to ramp to display the reports landing pages. If customers have daily reports generated, consider working with customers to scheduled reports throughout the day to help keep SSRS active. An alternative is to create a simple scheduled report to keep SSRS active running every hour. For example: A simple report to display current date using GetDate() or a simple query will work.

The second option is to consider adding an additional entry in your SSRS configuration file for "WorkingSetMinimum" measured in kilobytes. SSRS will not release memory back to the OS below this value set in the configuration file. By default the XML configuration is not added, and must be manually added to the file. This is useful when there is resource contention and we want Reporting Services to perform well. The best way to determine a conservative number is to monitor the Working Set Memory utilization of Reporting Services process (ReportingServicesService.exe) in task manager and use it as a baseline for the "WorkingSetMinimum".

In this example above, ReportingServicesService.exe is using about 246,608K after monitoring SSRS usage. We can conservatively use 250,000K as our minimum working set of RAM for this server. We can add an entry in thersreportserver.config located in C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\.

‹Service›   ...   ...   ‹WorkingSetMinimum›250000‹/WorkingSetMinimum›   ...   ...

Page 26: SQL Server Reporting Services

It's also important to caution you that forcing a minimum RAM working set can impact other applications/processes. This number should be determined after spending significant time monitoring Task Manager\Perfmon to observe SSRS RAM consumption levels with other applications/processes to ensure it does not adversely impact anything other processes. There can be negative side effects if we configure the Working Set Minimum too high, as SSRS will not be return unused RAM below what is configured to the operating system during inactivity. Applications and the Server itself may become slow or unresponsive. This is the reason we need to monitor current RAM usage to identify a baseline and test.

Conclusion

By understanding these factors for configuration and memory pressure on SSRS we as administrators can more effectively prevent slow start ups within SSRS. This keeps customers happier.