SQL Server Availability Groups between virtual server and a bare metal sql server I currently have Mirroring set up between two production SQL Servers. One of these servers is a hardware SQL server (principal) and the mirror is a VM (on different server). I need to migrate these servers to Availability Groups (HA cluster NOT using shared storage).

None of this is my choice. I would personally prefer two VMs, or completely identical systems. 

My question is: has anyone come across issues for AG/clustering between a hardware SQL Server and a VM SQL Server? Or is there any issues that you can imagine with that setup?

I have had no issues with Mirroring between a hardware &amp; VM. As long as the servers are very similar (ie: same version of SQL Server, same RAM given, data files are named &amp; stored in the same locations, etc). My concern is AG utilizes windows failover clustering - an unfamiliar territory for me - so I'd like to know if there's anything additional to look out for.
I have had no issues with Mirroring between a hardware &amp; VM. As long as the servers are very similar (ie: same version of SQL Server, same RAM given, data files are named &amp; stored in the same locations, etc).


Then it should be exactly the same for Availability Groups. You shouldn't see a difference.


  My concern is AG utilizes windows failover clustering - an unfamiliar territory for me - so I'd like to know if there's anything additional to look out for.


The biggest thing is quorum. In mirroring there was the option to use a witness instance for HA which sort of but not really acted like quorum. I say sort of because it didn't really vote because there could only ever be two instances in mirroring. Availability Groups rely on WSFC (except read-scale AGs, though they can have an optional metadata instance - and anything on Linux) which means there will be voting to determine quorum.

Here is a small introductory, there is more out there but this should give you an idea what you'll want to research.