Featured image of post MSSQL 2019 Standard Edition - Failover clustering and DR design for on-premise system

MSSQL 2019 Standard Edition - Failover clustering and DR design for on-premise system

For limited budget project

Why MSSQL 2019?

While MSSQL 2022 is around the corner, majority of the existing instances are still running MSSQL 2019 and earlier. More importantly, there is a cool feature offered by MSSQL 2019 license and it is worth to mention here

  1. The MSSQL 2019 licenses allows up 2 passive failover servers for 1 PROD instance. This is considered a major change compared to MSSQL 2017 licensing and earlier version whereas you need to pay extra licenses for the 2nd passive failover server.
  2. Software Assurance (SA) of MSSQL 2019 is still required to support the failover setup
  3. You can also deploy this setup (2 failover servers) on MSSQL 2017 and earlier as long as you purchase MSSQL 2019 + SA
  4. You shouldn’t run any data manipulation transactions on the databases on the 2nd passive failover server. If you do so, it is require to pay extra licenses for this server. Only maintenance-related operations Backup, Restore, DBCC e.g. are allowed.

Why Standard Edition?

Because it is meant for limited budget project. As of Dec 2021, Standard Edition: 3,586 USD/2cores vs Enterprise Edition: 13,748 USD/2cores

Why on-premise ?

While cloud is becoming the major force for the IT infrastructure, there are still lots of companies prefer on-premise due to the cost, internal requirement or complete control of the infrastructure

Out of scope

This article breifly explains the high-level design and won’t discuss the virtualization and the details of equipment spec and redudancy e.g. multiple links for WAN network, multiple paths from Server to SAN, multiple SAN devices/SAN switch devices as it generally depends on the hardware provider, not MSSQL.

High-level design

Advantages of the design

  1. It can survive the disater strike on individual server and also the site. If both sites are down then it is another story :P
  2. In the event either Server1A/1B is not avai, apps won’t need to be reconfigured to point to MSSQL instance.
  3. Maximizing the benefit of MSSQL 2019 licensing by minizing the number of license required, for example, assuming that Server1A/1B/2 are having same number of CPU cores, you just need to buy enough core licenses for either server.

Disadvantages of the design

In the event PROD site is not avai, apps would need to be reconfigured to point to MSSQL instance on Server 2 manually by PROD DBA / DNS system admin. Compared to MSSQL AlwaysOn solution on Standard Edition whereas it is auto failover to Server 2, this design is not that operational transparent and might introduce downtime depending on how fast the PROD DBA / DNS system admin reacts. However, AlwaysOn on Standard Edition will also carry extra complications e.g only support 1 database.

The Cost for Per-Code model

Assuming each server 1A/1B/2 are equipped with 24 cores (<4 sockets) to maximize the CPU cores supported by Standard Edition, the total cost for MSSQL licenses is around 51,638.4 USD with the breakdown below

  • Estimated MSSQL: 12 x 3,586 = 43,032 USD
  • Estimated SA (20% of MSSQL cost above): 12 x 3,586 x 20% = 8,606.4 USD

In my experience, the actual cost is lower due to the discount offered by the local distributor, especially when they are closing on the quarter figure.

For the Server+CAL model, it is not popular and more suitable for the system with small limted number of users. Therefore, the cost won’t be covered in this article.

Feel free to share any comments/feedbacks below.

Thank you for your time.

Built with Hugo
Theme Stack designed by Jimmy