web-dev-qa-db-fra.com

Renommez le groupe de disponibilité et AG Script

J'ai deux questions pour vous les gars. J'apprécie vraiment votre aide.

1.- Y a-t-il un moyen de renommer un groupe de disponibilité?

2.- Existe-t-il un moyen d'obtenir les déclarations T-SQL afin de créer un groupe de disponibilité dans le cas où je dois le laisser tomber et la créer à nouveau?

S'il y a des informations que vous voulez que je partage, merci de me le faire savoir et je le fournirai.

3
Luis de Haro
  1. Une fois créé un groupe de disponibilité (AG) ne peut pas être renommé, bien que les bases de données de l'AG puissent être renommées. Vous devrez le recréer. Voir ici pour les options de modification d'un AG: https://msdn.microsoft.com/en-us/library/ff878601.aspx

  2. Lors de la création de l'AG à l'aide de l'interface graphique (Assistant), une fois que toutes les étapes terminées, vous verrez un bouton "Script" qui donne la possibilité de générer un script de ces étapes dans une nouvelle fenêtre. Vous pouvez ensuite sauvegarder le script pour plus tard et quitter l'interface graphique, ou simplement "Terminer" l'assistant pour créer réellement l'AG. (Le script restera dans la fenêtre) C'est une bonne idée de conserver le script au cas où elle doit être recréée ultérieurement (par exemple, si vous souhaitez renommer ...)

Il ne semble pas être possible d'être actuellement possible pour "script comme ..." AG de la manière dont vous le feriez pour une table ou une procédure stockée par exemple.

Vous pouvez également écrire la relève Créer une instruction de groupe de disponibilité à partir de zéro à l'aide du code de la batterie MSDN comme point de départ ( https://msdn.microsoft.com/en-us/library/ff878399.aspx ) mais est susceptible d'être très encombrant et d'erreurs par rapport à l'utilisation de l'interface graphique qui vérifiera que vous avez tout correctement avant de vous permettre de continuer!

5
seventyeightist

Comme indiqué dans les commentaires, il y a un sérieux de non-responsabilité à ce sujet: j'ai non régression testé la solution (encore), alors assurez-vous de lire jusqu'à la fin, comprenez ce que je faisais, testez-le Sur une configuration factice avec votre logiciel de support (sauvegarde) et faire -non Essayez ceci le poing (ou la deuxième) fois sur votre instance de production de serveur de base de données la plus précieuse que vous utilisez.

Pour prendre ce dilemme, vous devez comprendre que le groupe de disponibilité toujours en fait n'est pas une entité SQL, mais en réalité une ressource de cluster. SQL Server Management Studio n'a pas été écrit avec renommer à l'esprit, mais sur le backend, ce que SQL Server fait, c'est créer des ressources de cluster. La façon dont vous seriez capable de le changer, c'est ainsi que grâce à l'outillage du gestionnaire de cluster de basculement. Les premières étapes que j'ai prises, utilisaient l'interface graphique ici, mais - comme vous le feriez remarquer à l'étape 3 - il y a une petite partie que vous ne pouvez pas changer si GUI. Les 2 premières étapes devraient sûrement être scriptables, mais admettons-les: à quelle fréquence l'auront-il de l'avoir, et c'est que cela vaut vraiment le temps de découvrir?

Alors, sur l'interface graphique alors ...

  1. Premièrement, allez à FailoVer Cluster Manager, allez sur le nœud roles de l'arborescence d'objets et DoubleClick le nom de groupe AO, vous souhaitez modifier le nom de. Dans l'onglet Général, vous pouvez modifier le nom de rôle. Ceci est également le nom d'objet indiqué dans SQL Server Management Studio.
  2. Ensuite, après avoir sélectionné le nom de groupe AO, allez à l'onglet Reroces dans la moitié inférieure de l'écran. Vous trouverez le "nom du serveur", correspondant à l'ancien nom de groupe AO. Faire le même ajustement ici. Notez que cela renonce également également à l'ordinateur de l'ordinateur pour la ressource dans Active Directory. Assurez-vous d'avoir les autorisations pertinentes ou d'échouer. Tout en modifiant cela, vous pourrez également le voir dans DNS, le nouveau nom est enregistré pour votre nom AO.
  3. Enfin, DoubleClick sur l'objet "Autres ressources" avec le nom de votre nouveau nom de groupe AO et vérifiez l'onglet Dépendances. Vous remarquerez quelque chose comme NewName_oldname "là-bas. C'est ici que PowerShell vient jouer: Accédez à l'invite d'administration PowerShell sur l'un des membres du cluster et utilisez la commande ci-dessous pour vérifier visuellement les Resources.

Normalement, un groupe AO devrait renvoyer des valeurs telles que:

PS C:\> Get-ClusterResource AOGROUPNAME* | FT -autosize
Name                      State  OwnerGroup   ResourceType
----                      -----  ----------   ------------
AOGROUPNAME               Online AOGROUPNAME  SQL Server Availability Group
AOGROUPNAME_10.1.2.3      Online AOGROUPNAME  IP Address
AOGROUPNAME_AOGROUPNAME   Online AOGROUPNAME  Network Name

En supposant que l'ancienne nom de groupe AO-groupName ait été changée à Newname, vous voyez cependant maintenant:

PS C:\> Get-ClusterResource NEWNAME* | FT -autosize
Name                  State  OwnerGroup   ResourceType
----                  -----  ----------   ------------
NEWNAME               Online NEWNAME      SQL Server Availability Group
NEWNAME_10.1.2.3      Online NEWNAME      IP Address
NEWNAME_OLDNAME       Online NEWNAME      Network Name

Il s'agit d'un vestige final de l'ancienne nommée et peut être corrigé en utilisant la commande PowerShell:

PS C:\> Get-ClusterResource "NEWNAME_OLDNAME"| % { $_.Name="NEWNAME_NEWNAME"}

Vous n'obtiendrez pas de commentaires ici, mais répétez la commande pour afficher les noms de ressources d'origine vous convaincre que le nom de la ressource a été modifié.

Disclamer : Mind You, comme mentionné au début, cela n'a pas (encore) été testé pour la compatibilité. De mon scénario, tout semble bien fonctionner, mais toujours ...

Vous pouvez également rencontrer des problèmes sévères tout en modifiant lorsque le nom que vous modifiez dans ALRREDAY a un objet ordinateur correspondant dans AD ou un enregistrement A- ou CName ajouté manuellement dans DNS. Assurez-vous absolument sûr (trottoir-trottoir) Il n'y en a aucun, sinon vous rencontrerez des messages d'erreur et éventuellement une base de données de ressources de cluster désespérée avec des noms étranges. J'ai eu un manuel A-Records, alors je devais y aller un peu plus loin pour vous assurer que tout est revenu en place où il devrait.

2
Vossiewos