SQL Standard and Enterprise can be Part of same Always-On Availability Group?

Asif janjua 21 Reputation points
2021-05-09T12:38:16.93+00:00

We have two SQL standard servers with Basic Always-On Availability group. We would like to upgrade them from standard to enterprise and action plan is to failover the database to one server and upgrade the other one.

However, once the SQL server is upgraded from standard to enterprise, can we failover the database to it which part of always-on or i want to ask can two servers one with standard version and other with enterprise can be part always-on?

SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
12,321 questions
0 comments No comments
{count} votes

5 answers

Sort by: Most helpful
  1. Erland Sommarskog 99,546 Reputation points MVP
    2021-05-09T13:15:40.127+00:00

    I guess you can do that and that you will be able limp along. However, I have two considerations:

    1) Why would you do this in the first place? What's the reason you only want to upgrade one instance?
    2) If you read https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/basic-availability-groups-always-on-availability-groups?view=sql-server-ver15, you will find this passage: Basic availability groups are only supported for Standard Edition servers.

    That sentence does not mean that it does not work, but you will be out in unknown lands, and if you run into trouble, Microsoft might just lean back in their chairs.

    Also, keep in mind that you will need to limit the feature set to what works on Standard Edition. For instance, if you want to online index rebuilds, you can do this if the primary replica is on the node running Standard Edition.

    0 comments No comments

  2. Asif janjua 21 Reputation points
    2021-05-09T13:57:26.647+00:00

    Dear @Erland Sommarskog thanks for your comments. Kindly see my response below.

    Why would you do this in the first place? What's the reason you only want to upgrade one instance?

    I will first upgrade one server then failover the database to upgrade server and then will proceed with upgrade on remaining server to avoid any downtime.

    I am just worrying that one i upgrade one server, will I be able to failover the database to it to upgrade remaining server?

    0 comments No comments

  3. Erland Sommarskog 99,546 Reputation points MVP
    2021-05-09T15:56:32.537+00:00

    Sorry, I did not read your original post carefully enough. For some reason, I though you aimed at upgrading one node to Enterprise and let it stay that way. What you ask for certainly makes sense, and certainly desirable. Question is only, will it work, and is it supported?

    For the first part, I absolutely recommend you to set up a test cluster with two nodes of Standard Edition and a Basic Availability Group. Then upgrade this cluster according to the plan. This serves two purposes: 1) you can find out that it works at all. 2) You get confident with the process, so that you perform it in production without downtime.

    That will not however answer the question whether it will be supported. You would still be running a Basic Availability Group on Enterprise Edition, which according to the documentation is not supported.

    Furthermore, if your plan is that the next will be to augment the AG, for instance by adding a read-only secondary, you will have no choice but to tear down the AG and create a new one. I googled on upgrading a basic availability group to enterprise edition and to my surprise I found a forum thread where I had supplied the answer myself: https://learn.microsoft.com/en-us/answers/questions/281821/upgrade-sql-always-on-group-from-basic-to-standart.html.

    (I say by surprise, because I'm by no means an expert in AGs, as I don't work with much myself.)

    0 comments No comments

  4. Jeffrey Williams 1,886 Reputation points
    2021-05-09T16:28:23.797+00:00

    No - you won't be able to fail over once you upgrade to Enterprise Edition. Basic Availability Groups cannot be upgraded - see here: https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/basic-availability-groups-always-on-availability-groups?view=sql-server-ver15

    Once upgraded - you need to recreate the AG which cannot be done until both nodes have been upgraded.

    0 comments No comments

  5. Cris Zhan-MSFT 6,601 Reputation points
    2021-05-10T02:00:25.073+00:00

    Hi,

    Check the Limitations mentioned in this official document.

    Basic availability groups cannot be upgraded to advanced availability groups. The group must be dropped and re-added to a group that contains servers running only SQL Server 2016 Enterprise Edition.

    Sorry I don't have a suitable environment to test this. However, according to the document, the basic availability group cannot be upgraded to the advanced availability group supported by the Enterprise Edition. Therefore, even if a temporary mixed edition of the availability group failover is supported, after the SQL Server instance is upgraded to the Enterprise Edition, the original basic availability group is not will also be upgraded to the enterprise Edition, and it is not certain whether this AG is available, after all, the basic availability group is only applicable to the Standard Edition Server. You still need to delete the old AG and create a new availability group AG.

    You may consider removing this basic availability group first , then upgrading the SQL Server Standard Edition instances on both servers to Enterprise, and then creating a new Always On availability group.

    0 comments No comments