Hello,
Thank you for posting here!
- Do we begin with our Domain Controllers? And if we choose 2012 R2, how long can we expect to have no compatibility issues? Is 2016, or 2019 preferred?
For what is new in Windows server 2012 R2, we could refer to: https://learn.microsoft.com/en-us/windows/win32/srvnodes/what-s-new-for-windows-server-2012-r2
We could choose 2012 R2 or 2016 or 2019 according to our requirement. It is important to keep the domain environments running with its latest versions. It allow organizations to use new features, enhancements available on new directory services.
Typically when we upgrade from old DC to new version, we add a new server or servers to the same network and then add it to the existing forest, domain. Then promote it as DC and move roles to the new system. Later on we demote the old DC and later we go with forest and domain functional level upgrades (once all legacy domain controllers are demoted). This is the preferred method.
2) Regarding Exchange, my question is the same. What server version, and what Exchange version, do we require in order to have complete compatibility with our migration to 365?
We could have a check of the information provided by Dave. As mentioned, for Exchange, we have a dedicated Exchange forum, So I suggest we submit a service request to that forum so that a dedicated support professional can further assist you with this request.
Here is the Exchange forum link https://social.technet.microsoft.com/Forums/office/en-us/home?category=exchangeserver.
3) Regarding both upgrades above, should we look at software upgrades on the existing servers, or completely new installs on new hardware?
As for the domain controller upgrade, as mentioned before, the recommended way to upgrade a domain is to promote domain controllers that run newer versions of Windows Server and demote the older domain controllers as needed. That method is preferable to upgrading the operating system of an existing domain controller.
For more information, we could refer to: https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/deploy/upgrade-domain-controllers
4) Once our Domain Controllers and Exchange have been upgraded, will our existing 2003 and 2008 Servers (some are SQL servers) still function normally?
According to my knowledge, SQL has different versions, Windows server also has different versions and there are new features in every new server version. We may need to know the compatibility of SQL version and server version.
Meanwhile, for SQL, we could turn to the dedicated SQL forum. Here is the SQL forum link https://social.technet.microsoft.com/Forums/sqlserver/en-US/home?category=sqlserver.
5) Are there any hidden dangers that we may be unaware of?
As for the domain controller upgrade, we should pay attention to the domain and forest functional level. If we want to promote a Windows Server 2012 R2 or Windows Server 2016 to a DC, the Domain Functional Level (DFL) must be at least Windows Server 2003.
As Dave mentioned, the minimum requirement to add a Windows Server 2019 Domain Controller is a Windows Server 2008 functional level. The domain also has to use DFS-R as the engine to replicate SYSVOL. So before we add 2019 DC to the existing domain, we need to ensure the functional level is at least Windows Server 2008, and the SYSVOL folder replication type is DFSR.
Reference: https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/active-directory-functional-levels
Besides, I suggest we check our AD health before we make any change in our AD environment.
For any question, please feel free to contact us.