Power BI: Pro Versus Premium

I have been sharing Power BI with customers for some time now.  A quick tour is here.

At a high level, Power BI lets you pull together one or more data sources, and create visualizations that are interactive. With our cloud capabilities, we enable english-language querying of these data models, and also offer statistical insights.

As of May 3rd, we announced some changes to the pricing and added a premium service option.

The raw components to make this work include the free Power BI Desktop, the Power BI Service, and Power BI Premium.  Reports that are to be shown outside of your organization can leverage the Power BI API for external report consumption.

Once an organization gets used to mashing together data in this desktop, they will need to share with others inside the organization.

Sharing and publishing shared content requires Power BI Pro licensing. This is a per-user license, and can be added onto Office 365, or purchased as a stand-alone option.

At some level, there may be a large number of “occasional readers” of reports.  The pricing for these people may not make sense to consume content with the per-user pro license.  For the readers at scale, Power BI Premium makes great sense.

More deep-dive links are below, around administering and provisioning Power BI and Premium capacity.  Feel free to ping me for more information!

Latest Video from Adam Saxton on announcements from the Data Insights Summit:

Power BI Premium, and what is it. (Pro versus premium tables are here)


Power BI Premium white paper


A Power BI Administrator needs to “purchase” the premium capacity.

How to purchase Power BI Premium


Administering Power BI in your organization


Posted in Business Intelligence, Data | Leave a comment

Why migrate from Oracle to SQL Server? Especially in a hybrid scenario?

I was asked this question, and figured out a few things have moved forward since I thought about this in depth.

There are so many reasons why to get rid of your expensive exadata and oracle licenses, and Microsoft does offer help if you are interested.  Total cost of ownership has been shown to be much lower, and the throughput is excellent.

What I shared with my customer came to the following links:

Why else would the NASDAQ throw a 2 PETABYTE data warehouse on SQL (2014)?

SQL Server SURPASSED Oracle in the “Operational Database Systems” magic quadrant since 2014.  We have been excellent in the data warehousing category as well.


SQL 2016 is extremely fast. Check the TPC-H results for Data Warehousing


SQL Server is more secure than Oracle in terms of vulnerabilities

We also have “Always Encrypted”

“In SQL Server 2016, for the first time, you will hear about a capability that we call Always Encrypted,” he said. “This is about securing data all the way from the client, into the database and keeping it secure even when query processing is being done. At the database site, the data is never decrypted, even in memory, and you can still do queries over it.”


Lufthansa used Azure to host an availability group replica of SQL Server to cut DR recovery times


SQL in Hybrid: On-prem doing AlwaysOn to Azure example:


More Hybrid SQL 2016 examples


SBI Liquidity migrated from SQL 2005 to SQL 2016, and engaged Premier Support to ensure success


Amway went to AlwaysOn in SQL plus Azure to get to a 30 second cutover time for their data.

“These data centers support about 34 terabytes of information spread across 100 instances of Microsoft SQL Server software, with the data load growing at an annual rate of about 15 percent.”


As always, feel free to reach out with thoughts or feedback on this article!

Posted in Azure, Data, Security | Leave a comment

Compliance and Security in Microsoft SQL Server 2012-2016

I present often to user groups and SQL Saturdays.  One topic which seems popular is the ability to secure and gain compliance in SQL Server.

This presentation is best delivered by myself or someone from Microsoft, with authority on the topics inside.

Here is my slideshare:

Please contact me if you’d like more information.

Posted in Data, Security | Tagged , , , , , | Leave a comment

Azure (and SQL) Patterns and Practices

Customers ask for, and NEED, guidance and patterns for deploying into Azure (And SQL).
Patterns and Practices are written down, and created by the AzureCAT team, who help customers do cutting-edge deployments on Azure!
Feel free to use this link, to help understand the different areas where Azure has been deployed, and how you can do so as well!
There are also great articles written down for SQL Server, and SQL on Azure, at SQLCAT:
Posted in Architecture, Azure, Data | Leave a comment

SQL 2016 SP1! Do you ever need SQL Enterprise again? (tl;dr, yes)

With much fanfare, SQL 2016 SP1 was released!  (Please read these release notes in depth before testing and deploying!)

The original blog post talks about PROGRAMMABILITY features and post RTM+CU2 enhancements added in.

“SQL Server 2016 SP1 also includes all the fixes up to SQL Server 2016 RTM CU3 including Security Update MS16–136.”

So if you are coding up a new application, and only need SQL Express, you can use columnstore indexes, or in-memory tables, or Always-Encrypted!

So why would anyone need SQL Enterprise with all these features in SQL Standard?

The following is my own notes gathered around the edition differentiation:

SQL Enterprise allows for the following:

Online database access 24×7:

Index rebuilds – Tables are accessible during table and index maintenance

Schema Changes – tables online while adding columns or other structure

File, page, or piecemeal restore is online by default – tables online while restoring corrupt pages, files, etc.

Disaster Recovery Scenarios: AlwaysOn Availability Groups with Local HA and remote Asynchronous copy

Scalability Scenarios: AlwaysOn Availability Groups with Readable or multiple secondary copies, and offloading backups to secondary

Larger datasets for in-memory or columnstore data

Whole-database encryption (TDE)

Third Party encryption key management

Better throughput optimizations for data warehousing and high-throughput OLTP

More than 24 cores needed

More than 128 gigs of RAM needed

Resource Governor (Control those difficult queries or applications via IO, CPU, or Memory, MAXDOP etc)

Standard and Enterprise post SP1 of SQL 2016 can use the following now:

Polybase to access Hadoop and other sources

Columnstore indexes

In-Memory tables

Table Partitioning

Always-Encrypted data from client to server

Row level security

Fine-grained auditing

Here is the full reference feature-by-feature for each edition of SQL 2016 SP1:


Datasheet (shiny!) for SQL 2016 SP1 editions


Posted in Architecture, Data | Tagged , , , | Leave a comment

Virtualization of SQL Server

I get the following question often from my enterprise customers.

“Does Microsoft support clustering (of windows and sql) on top of VMWare?”

There is a “Yes-but” approach to this.

In 2007, Microsoft came out with the “Server Virtualization Validation Program” to have a standard support process for third-party (non microsoft) virtualization platforms with Microsoft products in the guest OS layer.

Microsoft supports clustering on third party virtualization in accordance with the following KB Article, which has not changed much since then:



When people bring up VMWare, the dominant virtualization platform, there are specific VMWare configurations and levels of vsphere that do matter.  Consult your VMWare team for more information.

There’s a dependency on the version of VMWare, and whether you do shared-disk clustering or non-shared-disk clustering (Like AlwaysOn Availability groups).


Finally, for Clustering (Hyper-V or VMWare), some thresholds should be tuned to help increase availability.


Thanks to David Klee for help here!

Posted in Uncategorized | Leave a comment

Public Speaking – You can do it!

The value of public speaking is tremendous.

If you cringed already, this post may be for you.

I grew up last of three, and was the “Baby”. Others spoke for me, and defended me.

When I got to college, I had one course called “Engineering Modeling and Design”. Besides a technical writeup, we had to present our ideas to business people.  By this time I was less shy, having been away from home, and with new people I met in college.

This forced me to do two major things: Learn how to write well for others, as well as learn how to speak (with feedback given).

My career started as an engineer.  What does an engineer do? Design things? Be immersed in technology?  All true.  One critical piece to success is the ability to present your ideas to someone less technical.  Why? Sometimes, those are the people who understand business, and therefore, can fund your project, to make money for the business.

I moved into Programming. The same ideas applied: without communication, your ideas would be stuck inside your head, and basically, not worth anything.  I also later learned if you advocate your ideas, you are “Selling” them.  Not too scary, especially if you believe in what you are doing!

Finally I moved into a customer-facing role. This helped, with lots of practice, fine-tune my ability to speak at very technical, somewhat technical, and eventually, nontechnical levels.

If you wish to get to this stage more quickly, I advocate you join a public speaking club like Toastmasters, or user groups or meetups.  Present your ideas in a safe zone.  How safe is it? I would say very safe.


Myself presenting on R on SQL 2016. A topic I barely knew a week earlier!

Take a topic you know a little bit about. Train yourself up on it, and present it as a quick talk at a group!  The general rules are:

  • Tell them what you’re about to tell them
  • Tell them
  • Tell them what you told them

Assuming you have practiced your material, I will divulge some secrets:

  • People in front of you want to hear what you have to say!
  • Most do not know the material even a fraction as well as you do, so you are sharing valuable information.
  • People are generally polite, and forgiving of stumbles.
  • Speak clearly, and take pauses.  Pauses are fine, and let the audience hear and process what you said.
  • Take questions.  If you do not know the answer, tell them “I do not know. Let’s take that offline and I will research further.”
  • Do not let yourself get bogged down with questions. You are speaking, and you are in charge of the movement through your presentation.  Own that!
  • If someone wants to show off their knowledge, thank them for their contribution, and move on.

Finally, more suggestions:

  • Ask for feedback.  What went well, what did not?
  • Remove emotion from all of this.  You are a person, your presentation is something you do, but it is not you.
  • Get a mentor, or many.  Most people with experience love to help.  Just make sure you use the time wisely, ask for specific things, and then act on those that need action!

Life is long, but one common thing about it is communication. Make the most of it, and share yourself through presentations.  People want to hear you!

I regularly speak in front of user groups, SQL Saturdays, and of course, customers.

Come to a SQL Saturday, or join a user group near you.  Nowadays, I’d say Meetup is the way to find them.

Now, do us all a favor: Go and present! We want to hear your ideas!


Posted in Uncategorized | Leave a comment