web-dev-qa-db-fra.com

Prenez une réplique hors ligne d'un groupe de disponibilité

J'ai 2 réplicas exécutant SQL Server 2016 Enterprise Edition dans un groupe Townon Disponibilité.

Une réplique est primaire et une autre réplique est secondaire et lisible.

J'ai une exigence d'entreprise qui devrait permettre à une réplique de la base de données d'être prise hors ligne et de retour en ligne après une période de quelques minutes par un moniteur APM développé personnalisé.

La réplique de la base de données à prendre hors connexion peut être primaire ou secondaire.

La réplique de la base de données doit être hors ligne et en ligne via le SQL transact

Lorsque la réplique de la base de données est hors ligne, elle ne devrait pas être possible pour qu'il exécute des demandes. Toutes les connexions existantes doivent être déplacées vers l'autre réplique de la base de données ou l'échec, de sorte que le client puisse vous reconnecter à l'aide de l'auditeur IP sur l'autre réplique.

Je peux faire un suspendre ou un basculement manuel planifié mais ne semble pas non plus supporter ce dont j'ai besoin.

La suspension et le basculement manuel ne fonctionne que sur des répliques de base de données secondaires.

La suspension permet aux connexions existantes d'exécuter des demandes.

Le basculement manuel change simplement le rôle primaire au rôle secondaire et inversement.

Comment puis-je faire cela ?

3
Kelvin Wayne

La réplique de la base de données à prendre hors connexion peut être primaire ou secondaire.

La base de données prise hors ligne devrait toujours être le secondaire.

La réplique de la base de données doit être hors ligne et en ligne via le SQL transact

C'est possible.

Lorsque la réplique de la base de données est hors ligne, elle ne devrait pas être possible pour qu'il exécute des demandes. Toutes les connexions existantes doivent être déplacées vers l'autre réplique de la base de données ou l'échec, de sorte que le client puisse vous reconnecter à l'aide de l'auditeur IP sur l'autre réplique.

Fondamentalement, voici comment ça irait:

  1. Si la réplique de la base de données qui doit être prise hors ligne est un primaire, vérifiez que le secondaire actuel doit être synchronisé.
  2. Définissez la base de données pour être "tiré" comme secondaire non lisible.
  3. Si le réplique de la base de données était un basculement principal.
  4. Est-ce que d'autres articles que vous souhaitez ici, comme le retirez-le de l'AG, etc.
1
Sean Gallardy