web-dev-qa-db-fra.com

Mélange SQL Server 2016 et 2017 dans un groupe de disponibilité distribuée

J'ai un ancien groupe de disponibilité composé de 2 instances SQLServer 2016 (2 serveurs Windows 2016 dans WSFC) J'ai également 2 nouvelles instances SQLServer 2017 (2 Windows Server 2016) que je voulais à l'origine rejoindre à l'AG 2016.

Il s'agit d'un scénario de migration de temps d'arrêt et des serveurs 2016 devraient être rejetés une fois que les DB ont été alignés sur les années 2017.

À ma grande déception, j'ai découvert qu'il n'est pas possible de rejoindre les instances 2017 à un AG 2016 existant, mais je ne peux pas vous permettre de faire une charge de la production, de prendre et de restaurer une sauvegarde, en attente de la synchronisation DBS, de modifier le nom (et éventuellement la propriété intellectuelle) du nouveau AG pour correspondre à l'original, sauf si la toute dernière ressource ...

Ensuite, j'ai rencontré le nouveau service de 2016 appelé "Distributed AG Group" et j'ai commencé à penser à l'utiliser pour mon scénario de migration ... essentiellement comme ceci:

  1. Créez un nouveau AG avec les instances SQL 2017
  2. Créer un AG distribué entre l'original 2016 AG et la nouvelle 2017 AG (Applications Continuez à vous connecter à l'auditeur de 2016)
  3. Attendez que la synchronisation DBS ait lieu dans l'AG 2017
  4. Faire le 2017 AG comme principal
  5. Supprimer l'AG 2016 de l'AG distribué (Temps d'arrêt des applications courtes)
  6. Changez le nom et l'adresse IP de l'auditeur de 2017 (les applications sont à nouveau en hausse)
  7. Supprimer l'AG distribué

C'est faisable? Puis-je mélanger 2016 et 2017 AGS dans un AG distribué? Ou il y a (évidemment!) Quelque chose qui me manque et qu'il y a un moyen plus simple ou plus approprié de le faire?

4
Blablas

C'est faisable? Puis-je mélanger 2016 et 2017 AGS dans un AG distribué?

J'ai confirmé à partir de Allan Hirt SQL Server MVP et HA/Dr Guru que c'est bien possible et pris en charge. Alors, veuillez aller de l'avant, la confusion peut survenir parce que dans Bol Deux choses différentes sont mentionnées. Je vais souligner les deux

Citant de Groupes de disponibilité distribuées Document

Un groupe de disponibilité distribuée s'étend sur plusieurs groupes de disponibilité, chacun sur son propre groupe WSFC sous-jacent et un groupe de disponibilité distribué est une construction SQL Server uniquement. Cela signifie que les grappes WSFC qui hébergent les différents groupes de disponibilité peuvent avoir différentes versions majeures de Windows Server. Les principales versions de SQL Server doivent être les mêmes

Donc, alors que vous pouvez avoir une version de serveur Windows de DIF dans DAG, mais vous ne pouvez pas disposer de différentes versions SQL Server dans DAG. À partir de là, il semble que les versions soient identiques, mais si vous regardez à nouveau Mise à niveau des instances de groupe de disponibilité Il dit

Pour migrer vers une nouvelle version de l'instance SQL Server à l'aide de AGS, la seule méthode prise en charge est un AG distribué, qui se trouve dans SQL Server 2016 Enterprise Edition ou ultérieure.

Vous devez maintenant croire que celui-ci n'est pas le précédent.

Ou il y a (évidemment!) Quelque chose qui me manque et qu'il y a un moyen plus simple ou plus approprié de le faire?

En dehors de Distributed AG, je considérerais 2 approches ici

  1. latéral à la mise à niveau latéral

Je crois que la connexion des transactions devrait aider ici.

  • Créer une nouvelle WSFC avec SQL Server 2017 installé - pas de temps d'arrêt

  • Ne créez pas AG dès maintenant

  • Base de données de la connexion à partir de SQL Server 2016 à SQL Server 2017. - Non

  • Au cours de "Cutover", arrêtez la connexion et apportez la base de données sur SQL Server 2017 en ligne .-- Petit temps d'arrêt

  • Maintenant, pointez sur cette nouvelle base de données.

  • Allez-y et configurez AG sur le nouveau SQL Server 2017.

Je sais qu'il y a un peu de douleur impliquée dans la configuration de la connexion si vous avez de grandes bases de données, mais c'est mieux que je vois.

  1. Upgrade sur place

Faire la mise à niveau des groupes de disponibilité. Mise à niveau des instances de groupe de disponibilité

6
Shanky