This blogging concept may or may not have been inspired by a party many of us attended last Monday, while at TechEd in New Orleans. There also may or may not have been a great deal of Red Bull and other beverages consumed at said party. Anyway, when we deferred to talking about databases, we came into the topic of disaster recovery options going forward in SQL Server standard edition. As some of you may know, since SQL 2005 SP1, database mirroring (synchronous, anyway) has been an option in standard edition. This allowed Standard Edition customers, to have some level of DR even if it wasn’t to the same standard as Enterprise Edition. However, since SQL Server 2012 where AlwaysOn Availability Groups were introduced, and database mirroring has been marked for deprecation (which generally means it will go away within two major releases of SQL Server). So our discussion Monday night was around, what should be the DR option for Standard Edition?
In my opinion, log shipping and replications aren’t really full on DR options. You are likely to lose some data, and any switchover process likely involves manual intervention to change a connection string. However, I feel like this is what Microsoft will probably offer customers as a DR option going forward. My reasoning for that is simple and is as follows—Oracle doesn’t offer a DR option in their Standard Edition.
Oracle |
SQL Server |
Two Node Cluster (No Addition Cost—unlike EE) |
Two Node Cluster |
No Block Level Recovery |
No Online Page and File Restore |
No Advanced Compression |
No Data Compression |
Limited Encryption |
No Transparent Data Encryption |
No Online Indexing Reorgs/Rebuilds |
No Online Indexing/Rebuilds |
No Partitioning |
No Partitioning |
No Fine Grained Auditing |
No Fine Grained Auditing |
No Parallel Index Rebuilds |
No Parallel Index Rebuilds |
No Materialized Views Query Rewrite (Index Views in Oracle) |
No Automatic use of Indexed Views by Optimizer |
Limited Backup Compression |
Backup Compression |
No DataGuard |
Synchronous Database Mirroring* (Currently) |
No Transportable Tablespaces |
N/A |
–source Oracle 11G product family, SQL Server BoL
As you’ll note from the above table—if you aren’t sleeping from discussing licensing minutia yet, Oracle and SQL Server match each other almost feature for feature in Standard Edition. The one glaring difference is that SQL Server currently gives us the option to have synchronous mirroring, where as Oracle has no online DR option in its standard edition. Since MS marketing drives most of these decisions, and nearly all of the enhancements to SQL Server in recent years have been to Enterprise Edition, I don’t see an option coming to replace Database Mirroring as a feature when it goes away.
So, what do I propose as a solution to Standard Edition customers to Microsoft? The ability to create a Hybrid Availability Group (I like this concept so much, I’ll be speaking about it at the PASS Summit in October)—if the customer is using Standard Edition, they are allowed to have one additional node, running SQL Server on a Windows Azure Virtual Machine. Since, the solution will be distant, it will need to be asynchronous, however the other limitation should be that the secondary can’t be used as a read only replica. This is a fair compromise that guarantees Microsoft some level of incremental revenue, and gives their Standard Edition customers some level of DR options. This would be a great win-win solution for MS and their customers.
Isn’t the standard deprecation policy *three* releases, not *two*? Anyway please see my comments about all this Chicken Little talk over on Allen’s post: http://sqlblog.com/blogs/allen_white/archive/2013/06/10/are-we-losing-a-standard-edition-data-recovery-technology.aspx
What? Technical decisions made by marketing types? Say it ain’t so….
Great table there.
This must be the day to get excited about what Microsoft will decide to do for “SQL Server 2018” (which I doubt they even know yet).