Understanding SQL Server Licensing for the Passive Instance

As anyone who has ever worked with any Microsoft Enterprise-Class software can tell you, Microsoft Licensing can be complicated.  Add in Software Assurance, Enterprise Agreements, Multiplexing, Virtualization, and HA Technologies and it gets even worse.  Sometimes you can even get experts from Microsoft that cannot clear it up for you.  I have found that the best way to address Microsoft Licensing is on a case-by-case basis.  However, there are a few cases that are both broad enough and common enough, as to warrant some decent documentation.  I believe my recent experience qualifies as one of those cases.

We have been planning to add a new node to our primary SQL cluster.  This particular cluster has grown over the last few years at a fairly steady clip.  It started out as an Active-Passive Cluster, covered by a single Enterprise Per-Proc license.  As time went on, I realized that we needed to start splitting some of that load onto two nodes, so that would mean bringing that Passive node into active duty, which, of course, would require the purchase of an additional Enterprise Per-Proc license.  No big deal, we had budgeted for it and we were ready to go in no time.  Shortly after that, I added a single node at our DR site, which was the SQL Mirroring Failover Partner for the cluster.  This provided the hardware redundancy we wanted at the primary site (because a single node could handle the load of the entire cluster, if needed) and the logical redundancy we needed at the DR site.  All was well, and everything was legal.

Well, now it is time for a third node.  We still have enough horsepower and RAM to support all of the instances on the two nodes for quite a while, but the database requirements have grown enough that I wouldn’t feel comfortable if the entire workload had to perform on a single node, should the other node fail.  So, I need to add a passive node.  Additionally, this would require turning that one DR node into a two-node cluster at the DR site.  This is where I had a lesson to learn.

Due to several documents I had read, from Microsoft (including the 2008 SQL Licensing Overview document), I had come to the conclusion that the passive node in an Active/Active/Passive cluster did not require its own license (which is true) and that a passive mirror did not require its own license (which is also true).  However, I had misunderstood the actual meaning of the PUR‘s statement, “”.  It turns out that each licensed node can only ever cover a single passive node (either a cluster node or a mirror, not both).  This is quite clearly delineated in the Microsoft Software License Terms for Microsoft SQL Server 2008 R2 Enterprise, Section 4, paragraph e, which states:

Fail-over Server. For any operating system environment in which you run instances of the server software, you may run up to the same number of passive fail-over instances in a separate operating system environment for temporary support. If you have licensed the server software under the Per Processor licensing model, the number of processors used in that separate operating system environment must not exceed the number of processors used in the corresponding operating system environment in which the active instances are running. You may run the passive fail-over instances on a server other than the licensed server.

Meaning, If you have a total of only two Enterprise Per-Proc licenses, you cannot have more than two total servers acting as some form of failover against those licenses.

So, to help visualize this:

Visualization of SQL Server Licensing For Passive Node

My solution was to go ahead and bite the bullet on buying the third license and using my production cluster in an Active/Active/Active setup, in which any two of the nodes could support the load of all three.  In some shops, however, this may be a reason to hold off buying another node for your cluster, depending, of course, on your specific needs.

  1. High quality content . Still a query . I have SQL 2008 cluster with shared storage between them.i now want Dr site with 3rd party product like neverfail / ca arcserve/Symantec vrr on single server . The primary site cluster is active/passive mode.each has tworoc . We have 2 proc license for primary site . Do I have to procure SQL license for dr SQL server ? . Can I keep my secondary server to have single proc and that at dr server to be single proc and save on license ? If we need to procure license , can I have single proc license with single proc server at dr ?

    • SQLPhilosopher

      From the way I have understood the licensing, there is a direct relationship between the primary and secondary instances. Meaning, that if you have a 2-proc server with 2 per-proc licenses, you cannot split the secondary into 1 proc being part of your cluster and the other being part of your DR solution. I wish this was not the case, but, as I understand from the documents and from Microsoft’s people, it is, indeed, the case. So, for the scenario you have, you may be better off making your SQL Cluster Active/Active, buying another set of per-Proc licenses for that second node, and then install one instance on each node and then they can either share the same DR server or have two DR servers, or maybe a DR SQL Cluster. I hope this is clear, let me know if I have not explained this sufficiently.

  2. Great Article and alone article which explains so clearly. 🙂

  3. David Robertson

    Hi there, I know this is a very late post. However, I was wondering if this was ever ratified by Microsoft. My company is going through an audit shortly and my setup is pretty much that.

    Thanks

    • SQLPhilosopher

      David, I do not know of any specific ratification that Microsoft has issued for any of the information I posted, but I did reference their licensing document as of SQL Server 2008. Their licensing has changed dramatically in the past few years and that should be taken into account. But, based on the documentation from Microsoft and other members of the SQL community with which I have discussed this, I believe the contents of the post to be accurate for SQL Server 2008.

      Please note that in recent versions of SQL Server, SQL Licensing is based on Core-count with minimum core-counts. Additionally, free cold secondaries are now only allowed with Software Assurance. Also, SQL Azure does not allow free cold secondaries at all.

  4. Hi
    Waht if active node require to be restarted because of Microsoft updates installation and for thouse few minutes passive will take the role. Do I need license the pasive node because of this?

    • I apologize for the delay in answering. If the Primary node needs to be restarted and the Secondary node takes over the load on the database during that restart, the Secondary node is covered under the Primary node’s license. Microsoft allows for up to 90-days in this mode for a node-fail-over scenario.

Reply to SQLPhilosopher ¬
Cancel reply

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*