Reporting in SQL Server Power BI Report Server

Reporting in SQL Server Power BI Report Server

Reporting in SQL Server - Power BI Report Server

SQLShack

SQL Server training Español

Reporting in SQL Server – Power BI Report Server

June 13, 2017 by Minette Steynberg Power BI is a self-service business intelligence tool from Microsoft which has been steadily gaining momentum in the last couple of months. One of the well-known disadvantages of Power BI is that it is basically cloud only. A lot of companies are not yet at the point where they feel comfortable having their data in the cloud or are premise bound for some other reasons such as data-sensitivity, data-sovereignty or compliance. Last year Microsoft released a Power BI on SQL Server Reporting Services preview for some then “future” version of SQL Server. This version basically allowed you to deploy your Power BI reports to SQL Server Reporting Services to share them with your organization. That version was based on the Power BI embedded which was extremely limited. In answer to this problem Microsoft has now created Power BI Report Server.

Introducing Power BI Report Server

Power BI report server is a new component which comes as included in the licensing of SQL Server Enterprise Edition with SA or as a free extension of Power BI premium. It is not a replacement for SQL Server Reporting services as originally speculated. Interestingly, if you do not have an on-premise SQL Server license but you purchased Power BI Premium and you want to run Power BI Report Service on-premise, you will have the right to run a server with the equivalent number of cores in your premium subscription for it.

Power BI Report Server Installation and Configuration

Installation of the Power BI Report Server is fairly straight forward. Just download and install following the wizard steps. The only thing to note is that it does not install SQL Server, so you need to install one or have access to one before commencing your configuration. As you can see in the image below it says “Install Database Engine”, which is actually just a reminder that you need one.
Figure 1: Power BI Report Server Installation Once the Power BI Report Server is installed, you need to configure it. When you open Report Server Configuration Manager, you will get a distinct sense of Déjà vu, since it looks exactly like Reporting Services Configuration Manager except for one additional option at the bottom: Power BI Service (cloud), which allows you to specify a Power BI account to connect to the Power BI Service in the cloud.
Figure 2: Configuration

Power BI Reports

The advantage of being able to use Power BI reports is that you can create interactive reports. If you are familiar with Power BI, you will know that as a developer you can create datasets and allow your business users to create their own reports to change the visualizations and layouts to suit them without having to request that from development, saving everyone a ton of time.

Authoring Reports

Creating Power BI reports is where the catch comes in. Even if you are running everything on-premise and you are not using any Power BI in the cloud. You will still require a Power BI Pro license for each person who wants to author and publish reports. To be able to publish reports to Report Server you need a special version of Power BI Desktop, currently known as Power BI Desktop (Report Server) which comes as part of the Power BI Report Server download, the version of which needs to be kept in sync with the version on Power BI Report server. As explained in the section up upgrades later on.

Mobility

Power BI Report Server will allow you to view your SQL Server Reporting Services Reports as well as your Power BI reports through the Power BI app on any device, through the Power BI Report Server Web Portal.

Workflow

The typical work flow would be:
Figure 3:Power BI Report Server Work Flow Important things to note here is the data is not imported into the Power BI Service as with typical Power BI reports. Instead the Report Server connects to Analysis Services (in this case on-premise) live, to ensure that the data stays safe within the boundary of the customer’s firewall.

Data Sources

When Power BI Report Server is released initially it will only be able to connect to SQL Server Analysis Services (SSAS). Both multi-dimensional and tabular models are supported. If you try to deploy a report which is connected to Excel for example you will encounter the below error:
Figure 4: Unsupported data sources

Publishing to SQL Server Reporting Services SSRS

Even though deploying a report to Power BI Report Server is referred to as publishing, you won’t find Report Server under the Publish Menu. You have to Save As… to save the report to the Report Server.
Figure 5: Deploying a Power BI report

Migrating from SQL Server Reporting Services SSRS

You can migrate existing reports from your SQL Server Reporting Services to Power BI Report Server with minimal effort for native mode at least: Backup existing SQL Server Reporting Services Database Install the Power BI Reporting Server Restore Reporting Server Databases to Power BI report server instance Connect to Reporting Server Databases using the Report Server Configuration Manager. If you are using SharePoint mode there is a script you can use which can be downloaded here.

System Requirements

To be able to install Power BI Report Server, you need at least: Windows Server 2012 SQL Server 2008 or later SQL Analysis Services 2012 or later In terms of licensing, as long as you have an active SQL Server license with Software Assurance, you are goo to go. Alternatively, you need Power BI Premium.

Updates

Unlike SQL Server which only gets updated with Service Packs and new versions. Power BI Report Server will get updated 3 times a year and have additional security patched in between if that should be required. This is known as the Modern Life Cycle Policy. Since Power BI Report Server goes hand in hand with Power BI desktop, you need to ensure that the Power BI desktop version which will be used by all users will be upgraded at the same time as the Power BI Report Server, to ensure that the versions remain in sync.
Figure 6: Upgrade must occur simultaneously

Conclusion

If you are looking for more interactivity than what your typical SSRS paginated reports can provide, and you are not yet ready to go to the cloud; then Power BI Report Server is probably the right solution for you. The preview release is now available for download on the Power BI website.

References

Power BI Report Server Preview Reporting Services Web Portal Modern Life Cycle Policy Author Recent Posts Minette SteynbergMinette Steynberg has over 15 years’ experience in working with data in different IT roles including SQL developer and SQL Server DBA to name but a few. Minette enjoys being an active member of the SQL Server community by writing articles and the occasional talk at SQL user groups.

Minette currently works as a Data Platform Solution Architect at Microsoft South Africa.

View all posts by Minette Steynberg Latest posts by Minette Steynberg (see all) The end is nigh! (For SQL Server 2008 and SQL Server 2008 R2) - April 4, 2018 8 things to know about Azure Cosmos DB (formerly DocumentDB) - September 4, 2017 Introduction to Azure SQL Data Warehouse - August 29, 2017

Related posts

SSRS Report Builder introduction and tutorial Top SQL Server Books How to create a Word Cloud generator in Power BI Desktop How to embed a Power BI Report Server report into an ASP.Net web application How to create geographic maps in Power BI using R 17,724 Views

Follow us

Popular

SQL Convert Date functions and formats SQL Variables: Basics and usage SQL PARTITION BY Clause overview Different ways to SQL delete duplicate rows from a SQL Table How to UPDATE from a SELECT statement in SQL Server SQL Server functions for converting a String to a Date SELECT INTO TEMP TABLE statement in SQL Server SQL WHILE loop with simple examples How to backup and restore MySQL databases using the mysqldump command CASE statement in SQL Overview of SQL RANK functions Understanding the SQL MERGE statement INSERT INTO SELECT statement overview and examples SQL multiple joins for beginners with examples Understanding the SQL Decimal data type DELETE CASCADE and UPDATE CASCADE in SQL Server foreign key SQL Not Equal Operator introduction and examples SQL CROSS JOIN with examples The Table Variable in SQL Server SQL Server table hints – WITH (NOLOCK) best practices

Trending

SQL Server Transaction Log Backup, Truncate and Shrink Operations Six different methods to copy tables between databases in SQL Server How to implement error handling in SQL Server Working with the SQL Server command line (sqlcmd) Methods to avoid the SQL divide by zero error Query optimization techniques in SQL Server: tips and tricks How to create and configure a linked server in SQL Server Management Studio SQL replace: How to replace ASCII special characters in SQL Server How to identify slow running queries in SQL Server SQL varchar data type deep dive How to implement array-like functionality in SQL Server All about locking in SQL Server SQL Server stored procedures for beginners Database table partitioning in SQL Server How to drop temp tables in SQL Server How to determine free space and file size for SQL Server databases Using PowerShell to split a string into an array KILL SPID command in SQL Server How to install SQL Server Express edition SQL Union overview, usage and examples

Solutions

Read a SQL Server transaction logSQL Server database auditing techniquesHow to recover SQL Server data from accidental UPDATE and DELETE operationsHow to quickly search for SQL database data and objectsSynchronize SQL Server databases in different remote sourcesRecover SQL data from a dropped table without backupsHow to restore specific table(s) from a SQL Server database backupRecover deleted SQL data from transaction logsHow to recover SQL Server data from accidental updates without backupsAutomatically compare and synchronize SQL Server dataOpen LDF file and view LDF file contentQuickly convert SQL code to language-specific client codeHow to recover a single table from a SQL Server database backupRecover data lost due to a TRUNCATE operation without backupsHow to recover SQL Server data from accidental DELETE, TRUNCATE and DROP operationsReverting your SQL Server database back to a specific point in timeHow to create SSIS package documentationMigrate a SQL Server database to a newer version of SQL ServerHow to restore a SQL Server database backup to an older version of SQL Server

Categories and tips

►Auditing and compliance (50) Auditing (40) Data classification (1) Data masking (9) Azure (295) Azure Data Studio (46) Backup and restore (108) ▼Business Intelligence (482) Analysis Services (SSAS) (47) Biml (10) Data Mining (14) Data Quality Services (4) Data Tools (SSDT) (13) Data Warehouse (16) Excel (20) General (39) Integration Services (SSIS) (125) Master Data Services (6) OLAP cube (15) PowerBI (95) Reporting Services (SSRS) (67) Data science (21) ►Database design (233) Clustering (16) Common Table Expressions (CTE) (11) Concurrency (1) Constraints (8) Data types (11) FILESTREAM (22) General database design (104) Partitioning (13) Relationships and dependencies (12) Temporal tables (12) Views (16) ►Database development (418) Comparison (4) Continuous delivery (CD) (5) Continuous integration (CI) (11) Development (146) Functions (106) Hyper-V (1) Search (10) Source Control (15) SQL unit testing (23) Stored procedures (34) String Concatenation (2) Synonyms (1) Team Explorer (2) Testing (35) Visual Studio (14) DBAtools (35) DevOps (23) DevSecOps (2) Documentation (22) ETL (76) ►Features (213) Adaptive query processing (11) Bulk insert (16) Database mail (10) DBCC (7) Experimentation Assistant (DEA) (3) High Availability (36) Query store (10) Replication (40) Transaction log (59) Transparent Data Encryption (TDE) (21) Importing, exporting (51) Installation, setup and configuration (121) Jobs (42) ►Languages and coding (686) Cursors (9) DDL (9) DML (6) JSON (17) PowerShell (77) Python (37) R (16) SQL commands (196) SQLCMD (7) String functions (21) T-SQL (275) XML (15) Lists (12) Machine learning (37) Maintenance (99) Migration (50) Miscellaneous (1) ►Performance tuning (869) Alerting (8) Always On Availability Groups (82) Buffer Pool Extension (BPE) (9) Columnstore index (9) Deadlocks (16) Execution plans (125) In-Memory OLTP (22) Indexes (79) Latches (5) Locking (10) Monitoring (100) Performance (196) Performance counters (28) Performance Testing (9) Query analysis (121) Reports (20) SSAS monitoring (3) SSIS monitoring (10) SSRS monitoring (4) Wait types (11) ►Professional development (68) Professional development (27) Project management (9) SQL interview questions (32) Recovery (33) Security (84) Server management (24) SQL Azure (271) SQL Server Management Studio (SSMS) (90) SQL Server on Linux (21) ►SQL Server versions (177) SQL Server 2012 (6) SQL Server 2016 (63) SQL Server 2017 (49) SQL Server 2019 (57) SQL Server 2022 (2) ►Technologies (334) AWS (45) AWS RDS (56) Azure Cosmos DB (28) Containers (12) Docker (9) Graph database (13) Kerberos (2) Kubernetes (1) Linux (44) LocalDB (2) MySQL (49) Oracle (10) PolyBase (10) PostgreSQL (36) SharePoint (4) Ubuntu (13) Uncategorized (4) Utilities (21) Helpers and best practices BI performance counters SQL code smells rules SQL Server wait types © 2022 Quest Software Inc. ALL RIGHTS RESERVED. GDPR Terms of Use Privacy
Share:
0 comments

Comments (0)

Leave a Comment

Minimum 10 characters required

* All fields are required. Comments are moderated before appearing.

No comments yet. Be the first to comment!