Configurare un gruppo di disponibilità su più subnet tra aree di Azure - SQL Server in macchine virtuali di Azure

Si applica a:SQL Server nella macchina virtuale di Azure

Questa esercitazione illustra come configurare una replica del gruppo di disponibilità AlwaysOn per SQL Server in macchine virtuali di Azure in un'area di Azure remota alla replica primaria. È possibile usare questa configurazione per il ripristino di emergenza.You can use this configuration for disaster recovery (DR).

È anche possibile usare i passaggi descritti in questo articolo per estendere un gruppo di disponibilità locale esistente ad Azure.

Questa esercitazione si basa sull'esercitazione per distribuire manualmente un gruppo di disponibilità in più subnet in una singola area. Le menzioni dell'area locale in questo articolo fanno riferimento alle macchine virtuali e al gruppo di disponibilità già configurati nella prima area. L'area remota è la nuova infrastruttura che verrà aggiunta in questa esercitazione.

Panoramica

L'immagine seguente illustra una distribuzione comune di un gruppo di disponibilità nelle macchine virtuali di Azure:

Diagram showing the resources that are deployed in this tutorial.

Nella distribuzione illustrata nel diagramma tutte le macchine virtuali si trovano in un'area di Azure. Le repliche del gruppo di disponibilità possono avere commit sincrono con failover automatico in SQL-VM-1 e SQL-VM-2. Per compilare questa architettura, vedere il modello o l'esercitazione del gruppo di disponibilità.

Questa architettura è soggetta a tempi di inattività se l'area di Azure diventa inaccessibile. Per ovviare a questa vulnerabilità, aggiungere una replica in un'area di Azure diversa. Il diagramma seguente mostra l'aspetto della nuova architettura:

Diagram of a disaster recovery scenario for an availability group.

Il diagramma mostra una nuova macchina virtuale denominata SQL-VM-3. SQL-VM-3 si trova in un'area di Azure diversa. Viene aggiunto al cluster di failover di Windows Server e può ospitare una replica del gruppo di disponibilità. In questa architettura la replica nell'area remota viene in genere configurata con la modalità di disponibilità commit asincrono e la modalità di failover manuale.

Nota

Un set di disponibilità di Azure è necessario quando più macchine virtuali sono nella stessa area. Se nell'area si trova una sola macchina virtuale, il set di disponibilità non è obbligatorio.

È possibile inserire una macchina virtuale in un set di disponibilità solo in fase di creazione. Se la macchina virtuale è già in un set di disponibilità, è possibile aggiungere una macchina virtuale per un'altra replica in seguito.

Quando le repliche dei gruppi di disponibilità si trovano in macchine virtuali di Azure in aree di Azure diverse, è possibile connettere le reti virtuali usando il peering di rete virtuale o un gateway VPN da sito a sito.

Importante

Questa architettura è soggetta a costi per i dati in uscita replicati tra le aree di Azure. Vedere Prezzi della larghezza di banda.

Creare la rete e la subnet

Prima di creare una rete virtuale e una subnet in una nuova area, decidere lo spazio degli indirizzi, la rete subnet, l'IP del cluster e gli indirizzi IP del listener del gruppo di disponibilità che verranno usati per l'area remota.

Nella tabella seguente sono elencati i dettagli per l'area locale (corrente) e gli elementi che verranno configurati nella nuova area remota.

Tipo Locale Area remota
Spazio indirizzi 10.38.0.0/16 10.19.0.0/16
Rete subnet del controller di dominio 10.38.0.0/24 10.19.0.0/24
Rete subnet 1 DI SQL 10.38.1.0/24 10.19.1.0/24
Rete SUBNET 2 SQL 10.38.2.0/24 n/d
IP del cluster 1 10.38.1.10 10.19.1.10
IP del cluster 2 10.38.2.10 n/d
IP 1 del listener del gruppo di disponibilità 10.38.1.11 10.19.1.11
IP 1 del listener del gruppo di disponibilità 10.38.2.11 n/d

Per creare una rete virtuale e una subnet nella nuova area nel portale di Azure:

  1. Passare al gruppo di risorse nel portale di Azure e selezionare + Crea.

  2. Cercare la rete virtuale nella casella di ricerca marketplace e quindi selezionare il riquadro della rete virtuale da Microsoft.

  3. Nella pagina Crea rete virtuale selezionare Crea. Immettere quindi le informazioni seguenti nella scheda Informazioni di base :

    1. In Dettagli progetto selezionare la sottoscrizione di Azure appropriata per Sottoscrizione. Per Gruppo di risorse selezionare il gruppo di risorse creato in precedenza, ad esempio SQL-HA-RG.
    2. In Dettagli istanza specificare un nome per la rete virtuale, ad esempio remote_HAVNET. Scegliere quindi una nuova area remota.

    Screenshot of the Azure portal that shows selections for creating a virtual network in a remote region.

  4. Nella scheda Indirizzi IP selezionare i puntini di sospensione (...) accanto a + Aggiungi una subnet. Selezionare Elimina spazio indirizzi per rimuovere lo spazio indirizzi esistente, se è necessario un intervallo di indirizzi diverso.

    Screenshot of the Azure portal that shows selections for deleting the existing address space in a virtual network.

  5. Selezionare Aggiungi uno spazio indirizzi IP per aprire il riquadro per creare lo spazio indirizzi necessario. Questa esercitazione usa lo spazio indirizzi dell'area remota: 10.19.0.0/16. Selezionare Aggiungi.

    Screenshot of the Azure portal that shows selections for adding an address space for a virtual network.

  6. Aggiungere subnet per il controller di dominio e SQL Server.

    1. Selezionare + Aggiungi una subnet

    2. Specificare un valore per il nome della subnet, ad esempio DC-Subnet.

    3. Specificare un intervallo di indirizzi di subnet univoco all'interno dello spazio indirizzi della rete virtuale.

      Ad esempio, se l'intervallo di indirizzi è 10.19.0.0/16, immettere questi valori per la subnet DC-Subnet : 10.19.1.0 per Indirizzo iniziale e /24 per Dimensioni subnet.

    4. Selezionare Aggiungi per aggiungere la nuova subnet.

    5. Ripetere il processo per SQL-subnet1. Al termine, è necessario avere una subnet per il controller di dominio nell'area remota e una subnet per ogni SQL Server nell'area remota. In questa esercitazione, ad esempio, la rete virtuale dell'area remota contiene:

    Screenshot of the Azure portal that shows selections for adding a subnet to a virtual network.

  7. Selezionare Rivedi e crea per creare la rete virtuale.

Configurare il DNS della rete virtuale

Dopo aver creato la rete virtuale, configurarla per l'uso del server DNS dal controller di dominio locale o primario.

Per configurare la rete virtuale per DNS, seguire questa procedura:

  1. Passare al gruppo di risorse nel portale di Azure e selezionare la rete virtuale, ad esempio remote-HAVNET.
  2. Selezionare Server DNS nel riquadro Impostazioni e quindi selezionare Personalizzato.
  3. Immettere l'indirizzo IP privato identificato in precedenza nel campo Indirizzo IP, ad esempio 10.38.0.4.
  4. Selezionare Salva.

Connettere le reti virtuali nelle due aree di Azure

Dopo aver creato la nuova rete virtuale e la nuova subnet, è possibile connettersi alle due aree in modo che possano comunicare tra loro. Per eseguire questa operazione sono disponibili due metodi:

Questa esercitazione usa il peering di rete virtuale. Per configurare il peering di rete virtuale:

  1. Nella casella di ricerca nella parte superiore del portale di Azure digitare autoHAVNET, ovvero la rete virtuale nell'area locale. Quando autoHAVNET viene visualizzato nei risultati della ricerca, selezionarlo.

  2. In Impostazioni selezionare Peering e quindi + Aggiungi.

    Screenshot of the Azure portal that shows selections for adding a virtual network peering.

  3. Immettere o selezionare le informazioni seguenti, accettare le impostazioni predefinite per le impostazioni rimanenti e quindi selezionare Aggiungi.

    Impostazione Valore
    Questa rete virtuale
    Nome del collegamento di peering Immettere autoHAVNET-remote_HAVNET come nome del peering da autoHAVNET alla rete virtuale remota.
    Rete virtuale remota
    Nome del collegamento di peering Immettere remote_HAVNET-autoHAVNET per il nome del peering dalla rete virtuale remota a autoHAVNET.
    Sottoscrizione Selezionare la sottoscrizione per la rete virtuale remota.
    Rete virtuale Selezionare remote_HAVNET per il nome della rete virtuale remota. La rete virtuale remota può trovarsi nella stessa area di autoHAVNET o in un'area diversa.

    Screenshot of the Azure portal that shows peering settings.

  4. Nella pagina Peering lo stato peering è Connesso.

    Screenshot of the Azure portal that shows a Connected status for virtual network peering.

    Se non viene visualizzato lo stato Connesso , selezionare il pulsante Aggiorna .

Creare un controller di dominio

Un controller di dominio nella nuova area è necessario per fornire l'autenticazione se il sito primario non è disponibile. Per creare il controller di dominio nella nuova area:

  1. Tornare al gruppo di risorse SQL-HA-RG .
  2. Selezionare + Crea.
  3. Digitare Windows Server 2016 Datacenter e quindi selezionare il risultato di Windows Server 2016 Datacenter.
  4. In Windows Server 2016 Datacenter verificare che il modello di distribuzione sia Resource Manager e quindi selezionare Crea.

La tabella seguente illustra le impostazioni per i due computer:

Impostazione Valore
Nome Controller di dominio remoto: DC-VM-3
Tipo di disco VM SSD
Nome utente DomainAdmin
Password Contoso!0000
Sottoscrizione Sottoscrizione in uso
Gruppo di risorse SQL-HA-RG
Posizione Località corrente
Dimensioni DS1_V2
Archiviazione Usare dischi gestiti:
Rete virtuale remote_HAVNET
Subnet DC-subnet
Indirizzo IP pubblico Lo stesso nome della VM
Gruppo di sicurezza di rete Lo stesso nome della VM
Diagnostica Attivato
Account di archiviazione di diagnostica Creato automaticamente

Azure crea la macchina virtuale.

Configurare il controller di dominio

Nei passaggi seguenti configurare il computer DC-VM-3 come controller di dominio per corp.contoso.com:

Impostare l'indirizzo del server DNS preferito

L'indirizzo del server DNS preferito non deve essere aggiornato direttamente all'interno di una macchina virtuale, deve essere modificato dal portale di Azure o da PowerShell o dall'interfaccia della riga di comando di Azure. La procedura seguente illustra come apportare la modifica all'interno del portale di Azure:

  1. Accedere al portale di Azure.

  2. Nella casella di ricerca nella parte superiore del portale immettere Interfaccia di rete. Selezionare Interfacce di rete nei risultati della ricerca.

  3. Selezionare l'interfaccia di rete per il secondo controller di dominio per cui si desidera visualizzare o modificare le impostazioni dall'elenco.

  4. In Impostazioni selezionare Server DNS.

  5. Poiché questo controller di dominio non si trova nella stessa rete virtuale del controller di dominio primario, selezionare Personalizzato e immettere l'indirizzo IP del controller di dominio locale, ad esempio 10.38.0.4. L'indirizzo del server DNS specificato viene assegnato solo a questa interfaccia di rete e sostituisce tutte le impostazioni DNS per la rete virtuale a cui è assegnata l'interfaccia di rete.

  6. Selezionare Salva.

  7. Tornare alla macchina virtuale nel portale di Azure e riavviare la macchina virtuale. Dopo il riavvio della macchina virtuale, è possibile aggiungere la macchina virtuale al dominio.

Accedere al dominio

Aggiungere quindi il dominio di corp.contoso.com . A questo scopo, attenersi alla procedura seguente:

  1. Connettersi in remoto alla macchina virtuale usando l'account BUILTIN\DomainAdmin .
  2. Aprire Server Manager e selezionare Server locale.
  3. Selezionare GRUPPO DI LAVORO.
  4. Nella sezione Nome computer selezionare Cambia.
  5. Selezionare la casella di controllo Dominio e digitare corp.contoso.com nella casella di testo. Selezionare OK.
  6. Nella finestra di dialogo popup Sicurezza di Windows specificare le credenziali per l'account amministratore di dominio predefinito (CORP\DomainAdmin) e la password (Contoso!0000).
  7. Quando viene visualizzato il messaggio "Benvenuto nel dominio corp.contoso.com", selezionare OK.
  8. Selezionare Chiudi e quindi riavvia ora nella finestra di dialogo popup.

Configurare il controller di dominio

Dopo che il server ha aggiunto il dominio, è possibile configurarlo come secondo controller di dominio. A questo scopo, attenersi alla procedura seguente:

  1. Se non si è già connessi, aprire una sessione RDP al controller di dominio secondario e aprire il dashboard di Server Manager (che può essere aperto per impostazione predefinita).

  2. Selezionare il collegamento Aggiungi ruoli e funzionalità nel dashboard.

    Screenshot of the Server Manager - Add roles highlighted.

  3. Selezionare Avanti fino a visualizzare la sezione Ruoli server.

  4. Selezionare i ruoli Active Directory Domain Services e Server DNS. Quando richiesto, aggiungere eventuali funzionalità aggiuntive necessarie per questi ruoli.

  5. Dopo l'installazione delle funzionalità, tornare al dashboard Server Manager .

  6. Selezionare la nuova opzione Servizi di dominio di Active Directory nel riquadro di sinistra.

  7. Selezionare il collegamento Altro sulla barra di avviso gialla.

  8. Nella colonna Azione della finestra di dialogo Tutti i dettagli attività server selezionare Alza di livello il server a un controller di dominio.

  9. In Configurazione distribuzione selezionare Aggiungi un controller di dominio a un dominio esistente.

  10. Scegliere Seleziona.

  11. Connettersi usando l'account dell'amministratore (CORP.CONTOSO.COM\domainadmin) e la password (Contoso!0000).

  12. In Selezionare un dominio dalla foresta scegliere il dominio e quindi selezionare OK.

  13. In Opzioni controller di dominio usare i valori predefiniti e impostare una password DSRM.

    Nota

    Nella pagina Opzioni DNS è possibile che venga visualizzato un avviso indicante che non è possibile creare una delega per questo server DNS. È possibile ignorare questo avviso in ambienti non di produzione.

  14. Selezionare Avanti finché la finestra di dialogo non raggiunge il controllo Prerequisiti . Quindi selezionare Installa.

Quando il server completa le modifiche alla configurazione, riavviare il server.

Aggiungere un secondo indirizzo IP del controller di dominio al DNS

Dopo aver configurato il controller di dominio remoto, seguire la stessa procedura di prima per identificare l'indirizzo IP privato della macchina virtuale e aggiungere l'indirizzo IP privato come server DNS personalizzato secondario nelle reti virtuali (sia le reti virtuali locali che remote) del gruppo di risorse. L'aggiunta del server DNS secondario nel portale di Azure consente la ridondanza del servizio DNS.

Creare una macchina virtuale di SQL Server

Dopo il riavvio del controller di dominio, il passaggio successivo consiste nel creare una macchina virtuale di SQL Server nella nuova area.

Prima di procedere, prendere in considerazione le decisioni di progettazione seguenti:

Disponibilità - Zone di disponibilità

Per il livello più elevato di ridondanza, resilienza e disponibilità, distribuire le macchine virtuali all'interno di zone di disponibilità separate. Le zone di disponibilità sono posizioni fisiche univoche all'interno di un'area di Azure. Ogni zona è costituita da uno o più data center dotati di impianti indipendenti per l'alimentazione, il raffreddamento e la connettività di rete. Per le aree di Azure che non supportano ancora le zone di disponibilità, usare invece i set di disponibilità. Inserire tutte le macchine virtuali all'interno dello stesso set di disponibilità.

Archiviazione - Azure Managed Disks

Per l'archiviazione delle macchine virtuali, usare Azure Managed Disks. Microsoft consiglia Managed Disks per le macchine virtuali di SQL Server quando gestiscono lo spazio di archiviazione in background. Per altre informazioni, vedere Panoramica del servizio Managed Disks.

Rete - Indirizzi IP privati nell'ambiente di produzione

Per le macchine virtuali, in questa esercitazione si usano indirizzi IP pubblici. Un indirizzo IP pubblico abilita la connessione remota direttamente alla macchina virtuale tramite Internet e semplifica i passaggi di configurazione. Negli ambienti di produzione Microsoft consiglia di usare solo indirizzi IP privati al fine di ridurre la superficie di vulnerabilità della risorsa della VM dell'istanza di SQL Server.

Rete - Scheda di interfaccia di rete singola per server

Usare una singola scheda di interfaccia di rete per server (nodo del cluster). La rete di Azure ha ridondanza fisica, che rende superflue altre schede di interfaccia di rete in un cluster di failover distribuito in una macchina virtuale di Azure. Il report di convalida del cluster informa che i nodi sono raggiungibili solo in una singola rete. È possibile ignorare questo avviso quando il cluster di failover si trova in macchine virtuali di Azure.

Creare e configurare la macchina virtuale di SQL Server

Per creare la macchina virtuale di SQL Server, tornare al gruppo di risorse SQL-HA-RG e quindi selezionare Aggiungi. Cercare l'elemento della raccolta appropriato, selezionare Macchina virtuale e quindi selezionare Da raccolta. Usare le informazioni nella tabella seguente per facilitare la creazione di VM:

Pagina Impostazione
Selezionare l'elemento della raccolta appropriato SQL Server 2016 SP1 Enterprise on Windows Server 2016
Configurazione della macchina virtuale: Nozioni di base Nome = SQL-VM-3

Dominio nome = utenteAdmin

Password = Contoso!0000

Sottoscrizione = sottoscrizione

Gruppo = di risorse SQL-HA-RG

Località = Area remota
Configurazione della macchina virtuale: dimensioni Dimensioni = DS2_V2 (2 vCPU, 7 GB)

Le dimensioni devono supportare l'archiviazione SSD (supporto del disco Premium).
Configurazione della macchina virtuale: Impostazioni Archiviazione: usare dischi gestiti

= Rete virtuale remote-HAVNET

Subnet = SQL-subnet1 (10.19.1.0/24)

Indirizzo IP pubblico = Generato automaticamente

Gruppo = di sicurezza di rete Nessuno

Monitoraggio e diagnostica = abilitato

Account di archiviazione = di diagnostica Usare un account di archiviazione generato automaticamente

Configurazione della macchina virtuale: impostazioni di SQL Server Privato della connettività = SQL (all'interno della rete virtuale)

Porta = 1433

Autenticazione SQL = Disabilitata

Configurazione dell'archiviazione = Generale

Applicazione automatica delle = patch domenica alle 2:00

Backup automatico = Disabilitato

Integrazione dell'insieme di credenziali delle chiavi di Azure = Disabilitata

Nota

Le dimensioni del computer suggerite sono destinate ai test dei gruppi di disponibilità nelle macchine virtuali di Azure. Per ottenere prestazioni ottimali nei carichi di lavoro di produzione, vedere le raccomandazioni per le dimensioni e la configurazione dei computer di SQL Server in Elenco di controllo: Procedure consigliate per SQL Server in macchine virtuali di Azure.

Dopo aver completato il provisioning della macchina virtuale, è necessario configurarla, aggiungerla al dominio corp.contoso.com e concedere i diritti amministrativi CORP\Install ai computer.

Configurare macchine virtuali di SQL Server

Al termine della creazione della macchina virtuale, configurare le macchine virtuali di SQL Server aggiungendo un indirizzo IP secondario a ogni macchina virtuale e aggiungendole al dominio.

Aggiungere indirizzi IP secondari alle macchine virtuali di SQL Server

Nell'ambiente con più subnet assegnare indirizzi IP secondari a ogni macchina virtuale di SQL Server da usare per il listener del gruppo di disponibilità e per Windows Server 2016 e versioni precedenti assegnare indirizzi IP secondari a ogni macchina virtuale di SQL Server anche per l'indirizzo IP del cluster. In questo modo si nega la necessità di un servizio di bilanciamento del carico di Azure, così come è il requisito in un singolo ambiente subnet.

In Windows Server 2016 e versioni precedenti è necessario assegnare un indirizzo IP secondario aggiuntivo a ogni macchina virtuale di SQL Server da usare per l'IP del cluster windows, perché il cluster usa il nome di rete del cluster anziché il nome di rete distribuito predefinito (DNN) introdotto in Windows Server 2019. Con una rete perimetrale, l'oggetto nome cluster (CNO) viene registrato automaticamente con gli indirizzi IP per tutti i nodi del cluster, eliminando la necessità di un indirizzo IP del cluster Windows dedicato.

Se si usa Windows Server 2016 e versioni precedenti, seguire la procedura descritta in questa sezione per assegnare un indirizzo IP secondario a ogni macchina virtuale di SQL Server sia per il listener del gruppo di disponibilità che per il cluster.

Importante

Se si usa Windows Server 2019 o versione successiva, assegnare solo un indirizzo IP secondario per il listener del gruppo di disponibilità e ignorare i passaggi per assegnare un indirizzo IP del cluster Windows, a meno che non si prevede di configurare il cluster con un nome di rete virtuale (VNN), nel qual caso assegnare entrambi gli indirizzi IP a ogni macchina virtuale di SQL Server come si farebbe per Windows Server 2016.

Per assegnare indirizzi IP secondari aggiuntivi alle macchine virtuali, seguire questa procedura:

  1. Passare al gruppo di risorse nel portale di Azure e selezionare la macchina virtuale di SQL Server, SQL-VM-3.

  2. Selezionare Rete nel riquadro Impostazioni e quindi selezionare l'interfaccia di rete.

  3. Nella pagina Interfaccia di rete selezionare Configurazioni IP nel riquadro Impostazioni e quindi scegliere + Aggiungi per aggiungere un altro indirizzo IP.

  4. Nella pagina Aggiungi configurazione IP eseguire le operazioni seguenti:

    1. Specificare il nome come IP del cluster Windows, ad esempio windows-cluster-ip per Windows 2016 e versioni precedenti. Ignorare questo passaggio se si usa Windows Server 2019 o versione successiva.
    2. Impostare Allocazione su Statico.
    3. Immettere un indirizzo IP inutilizzato nella stessa subnet (SQL-subnet-1) della macchina virtuale di SQL Server (SQL-VM-1), ad esempio 10.19.1.10.
    4. Lasciare l'indirizzoIP pubblico come predefinito Disassociate.
    5. Selezionare OK per completare l'aggiunta della configurazione IP.
  5. Selezionare di nuovo + Aggiungi per configurare un indirizzo IP aggiuntivo per il listener del gruppo di disponibilità (con un nome come availability-group-listener), specificando di nuovo un indirizzo IP inutilizzato in SQL-subnet-1 , ad esempio 10.19.1.11.

    Screenshot of the Azure portal that shows the IP configurations on the network interface.

A questo momento si è pronti per partecipare al corp.contoso.com.

Aggiungere il server al dominio

Per aggiungere la macchina virtuale a corp.contoso.com, seguire questa procedura per la macchina virtuale di SQL Server:

  1. Connettersi in remoto alla macchina virtuale usando BUILTIN\DomainAdmin.
  2. In Server Manager selezionare Server locale.
  3. Selezionare il collegamento WORKGROUP .
  4. Nella sezione Nome computer selezionare Cambia.
  5. Selezionare la casella di controllo Dominio e immettere corp.contoso.com nella casella di testo. Quindi scegliere OK.
  6. Nella finestra popup Sicurezza di Windows specificare le credenziali per l'account amministratore di dominio predefinito (CORP\DomainAdmin) e la password (Contoso!0000).
  7. Quando viene visualizzato il messaggio "Benvenuto nel dominio corp.contoso.com", selezionare OK.
  8. Selezionare Chiudi e quindi riavvia ora nella finestra di dialogo popup.

Aggiungere account

L'attività successiva consiste nell'aggiungere l'account di installazione come amministratore nella macchina virtuale di SQL Server e quindi concedere l'autorizzazione a tale account e agli account locali all'interno di SQL Server. È quindi possibile aggiornare l'account del servizio SQL Server.

Aggiungere l'utente CORP\Install come amministratore in ogni macchina virtuale del cluster

Dopo il riavvio della macchina virtuale di SQL Server come membro del dominio, aggiungere CORP\Install come membro del gruppo administrators locale:

  1. Attendere il riavvio della macchina virtuale e quindi aprire di nuovo il file RDP dal controller di dominio primario. Accedere a SQL-VM-3 usando l'account CORP\DomainAdmin .

    Consiglio

    Nei passaggi precedenti si usava l'account amministratore BUILTIN . Ora che il server si trova nel dominio, assicurarsi di accedere con l'account amministratore di dominio. Nella sessione RDP specificare DOMINIO\NOME UTENTE.

  2. In Server Manager selezionare Strumenti e quindi Gestione computer.

  3. Nella finestra Gestione computer espandere Utenti e gruppi locali, quindi selezionare Gruppi.

  4. Fare doppio clic sul gruppo Administrators .

  5. Nella finestra di dialogo Proprietà amministratore selezionare il pulsante Aggiungi.

  6. Immettere l'utente come CORP\Install e quindi selezionare OK.

  7. Selezionare OK per chiudere la finestra di dialogo Proprietà amministratore.

Creare un accesso in ogni macchina virtuale di SQL Server per l'account di installazione

Usare l'account di installazione (CORP\Install) per configurare il gruppo di disponibilità. Questo account deve essere membro del ruolo del server predefinito sysadmin in ogni VM di SQL Server. La procedura seguente consente di creare un accesso per l'account di installazione. Completarli in entrambe le macchine virtuali di SQL Server.

  1. Connettersi al server tramite RDP usando l'account <MachineName>\DomainAdmin .

  2. Aprire SQL Server Management Studio e connettersi all'istanza locale di SQL Server.

  3. In Esplora oggetti selezionare Sicurezza.

  4. Fare clic con il pulsante destro del mouse su Account di accesso. Selezionare Nuovo account di accesso.

  5. In Account di accesso - Nuovo selezionare Cerca.

  6. Seleziona Posizione.

  7. Immettere le credenziali di rete dell'amministratore di dominio. Usare l'account di installazione (CORP\Install).

  8. Impostare l'account di accesso come membro del ruolo del server predefinito sysadmin.

  9. Selezionare OK.

Configurare le autorizzazioni dell'account di sistema

Per creare un account di sistema e concedere le autorizzazioni appropriate, completare i passaggi seguenti in ogni istanza di SQL Server:

  1. Usare lo script seguente per creare un account per [NT AUTHORITY\SYSTEM]:

    USE [master]
    GO
    CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    GO 
    
  2. Concedere le autorizzazioni seguenti a [NT AUTHORITY\SYSTEM]:

    • ALTER ANY AVAILABILITY GROUP
    • CONNECT SQL
    • VIEW SERVER STATE

    Lo script seguente concede queste autorizzazioni:

    GRANT ALTER ANY AVAILABILITY GROUP TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT CONNECT SQL TO [NT AUTHORITY\SYSTEM]
    GO
    GRANT VIEW SERVER STATE TO [NT AUTHORITY\SYSTEM]
    GO 
    

Impostare gli account del servizio SQL Server

In ogni macchina virtuale di SQL Server completare la procedura seguente per impostare l'account del servizio SQL Server. Usare gli account creati in fase di configurazione degli account di dominio.

  1. Aprire Gestione configurazione SQL Server.
  2. Fare clic con il pulsante destro del mouse sul servizio SQL Server e quindi scegliere Proprietà.
  3. Impostare l'account e la password.

Per i gruppi di disponibilità di SQL Server, ogni VM di SQL Server deve essere eseguita come account di dominio.

Aggiungere il clustering di failover alla macchina virtuale di SQL Server

Per aggiungere funzionalità di clustering di failover, completare la procedura seguente in entrambe le macchine virtuali di SQL Server:

  1. Connettersi alla macchina virtuale di SQL Server tramite RDP usando l'account CORP\Install . Aprire il dashboard di Server Manager .

  2. Selezionare il collegamento Aggiungi ruoli e funzionalità nel dashboard.

    Screenshot of the Server Manager dashboard that shows the link for adding roles and features.

  3. Selezionare Avanti fino a visualizzare la sezione Funzionalità server.

  4. In Funzionalità selezionare Clustering di failover.

  5. Aggiungere le funzionalità necessarie.

  6. Selezionare Installa.

Nota

È ora possibile automatizzare questa attività, insieme all'aggiunta effettiva delle macchine virtuali di SQL Server al cluster di failover, usando l'interfaccia della riga di comando di Azure e i modelli di avvio rapido di Azure.

Ottimizzare le soglie di rete per un cluster di failover

Quando si eseguono nodi del cluster di failover Windows nelle macchine virtuali di Azure con gruppi di disponibilità di SQL Server, modificare l'impostazione del cluster impostando uno stato di monitoraggio più rilassato. Questa modifica renderà il cluster più stabile e affidabile. Per informazioni dettagliate, vedere IaaS con SQL Server: Ottimizzazione delle soglie di rete del cluster di failover.

Configurare il firewall in ogni macchina virtuale di SQL Server

La funzionalità del gruppo di disponibilità si basa sul traffico attraverso le porte TCP seguenti:

  • MACCHINA virtuale di SQL Server: porta 1433 per un'istanza predefinita di SQL Server.
  • Endpoint del mirroring del database: qualsiasi porta disponibile. Negli esempi si usa spesso 5022.

Aprire queste porte del firewall in entrambe le macchine virtuali di SQL Server. Il metodo di apertura delle porte dipende dalla soluzione firewall usata e può variare dall'esempio di Windows Firewall fornito in questa sezione.

Per aprire queste porte in Windows Firewall, seguire questa procedura:

  1. Nella schermata Start avviare Windows Firewall con sicurezza avanzata nella prima istanza di SQL Server.

  2. Nel riquadro sinistro selezionare Regole connessioni in entrata. Nel riquadro destro selezionare Nuova regola.

  3. Per Tipo di regola scegliere Porta.

  4. Per la porta specificare TCP e digitare i numeri di porta appropriati. Vedere l'esempio seguente:

    Screenshot of configuring a new rule for the Windows firewall.

  5. Selezionare Avanti.

  6. Nella pagina Azione selezionare Consenti la connessione e quindi selezionare Avanti.

  7. Nella pagina Profilo accettare le impostazioni predefinite e quindi selezionare Avanti.

  8. Nella pagina Nome specificare un nome di regola, ad esempio SQL Inbound, nella casella di testo Nome e quindi selezionare Fine.

Aggiungere SQL Server al cluster di failover di Windows Server

La nuova macchina virtuale di SQL Server deve essere aggiunta al cluster di failover di Windows Server presente nell'area locale.

Per aggiungere la macchina virtuale di SQL Server al cluster:

  1. Usare RDP per connettersi a una macchina virtuale di SQL Server nel cluster esistente. Usare un account di dominio amministratore sia nelle macchine virtuali di SQL Server che nel server di controllo del mirroring.

  2. Nel dashboard di Server Manager selezionare Strumenti e quindi Gestione cluster di failover.

  3. Nel riquadro sinistro fare clic con il pulsante destro del mouse su Gestione cluster di failover e quindi scegliere Connetti al cluster.

  4. Nella finestra Seleziona cluster , in Nome cluster scegliere <Cluster in questo server>. Quindi scegliere OK.

  5. Nell'albero del browser fare clic con il pulsante destro del mouse sul cluster e quindi scegliere Aggiungi nodo.

  6. In Aggiunta guidata nodi selezionare Avanti.

  7. Nella pagina Selezione server aggiungere il nome della nuova istanza di SQL Server. Immettere il nome del server in Immettere il nome del server, selezionare Aggiungi e quindi selezionare Avanti.

  8. Nella pagina Avviso di convalida selezionare No. In uno scenario di produzione è necessario eseguire i test di convalida. Quindi selezionare Avanti.

  9. Nella pagina Conferma, se si usa Spazi di archiviazione, deselezionare la casella di controllo Aggiungi tutte le risorse di archiviazione idonee al cluster.

    Avviso

    Se non si deseleziona Aggiungi tutte le risorse di archiviazione idonee al cluster, Windows scollega i dischi virtuali durante il processo di clustering. Di conseguenza, non vengono visualizzati in Gestione dischi o Esplora risorse finché l'archiviazione non viene rimossa dal cluster e ricollegata tramite PowerShell.

  10. Selezionare Avanti.

  11. Selezionare Fine.

Gestione cluster di failover mostra che il cluster ha un nuovo nodo e lo elenca nel contenitore Nodi .

Aggiungere l'indirizzo IP per il cluster di failover di Windows Server

Nota

In Windows Server 2019 il cluster crea un nome del server distribuito anziché un nome di rete del cluster. Se si usa Windows Server 2019, passare a Aggiungere un indirizzo IP per il listener del gruppo di disponibilità. È possibile creare un nome di rete del cluster usando PowerShell. Per altre informazioni, vedere il post di blog Cluster di failover: Oggetto rete cluster.

Creare quindi la risorsa indirizzo IP e aggiungerla al cluster per la nuova macchina virtuale di SQL Server:

  1. In Gestione cluster di failover selezionare il nome del cluster. Fare clic con il pulsante destro del mouse sul nome del cluster in Risorse principali del cluster e quindi scegliere Proprietà:

    Screenshot of Failover Cluster Manager that shows selections for opening cluster properties.

  2. Nella finestra di dialogo Proprietà cluster selezionare Aggiungi in Indirizzi IP e quindi aggiungere l'indirizzo IP del nome del cluster dall'area di rete remota. Selezionare OK nella finestra di dialogo Indirizzo IP e quindi selezionare OK nella finestra di dialogo Proprietà cluster per salvare il nuovo indirizzo IP.

    Screenshot that shows the dialogs for creating a cluster IP address.

  3. Aggiungere l'indirizzo IP come dipendenza per il nome principale del cluster.

    Aprire la finestra di dialogo Proprietà cluster ancora una volta e selezionare la scheda Dipendenze . Configurare una dipendenza OR per i due indirizzi IP.

    Screenshot of the Cluster Properties dialog that shows selections for adding a dependency.

Aggiungere un indirizzo IP per il listener del gruppo di disponibilità

L'indirizzo IP per il listener nell'area remota deve essere aggiunto al cluster. Per aggiungere l'indirizzo IP:

  1. In Gestione cluster di failover fare clic con il pulsante destro del mouse sul ruolo del gruppo di disponibilità. Scegliere Aggiungi risorsa, altre risorse e quindi indirizzo IP.

    Screenshot of Failover Cluster Manager that shows selections for adding an IP address as a resource.

  2. Per configurare questo indirizzo IP, fare clic con il pulsante destro del mouse sulla risorsa in Altre risorse e quindi scegliere Proprietà.

    Screenshot of Failover Cluster Manager that shows selections for opening properties for a resource.

  3. In Nome immettere un nome per la nuova risorsa. In Rete selezionare la rete dal data center remoto. Selezionare Indirizzo IP statico e quindi nella casella Indirizzo assegnare l'indirizzo IP statico selezionato in precedenza per il listener, in questa esercitazione è 10.19.1.11.

    Screenshot of the dialog for IP address properties, showing assignment of the listener IP in the cluster.

  4. Selezionare Applica, quindi selezionare OK.

  5. Aggiungere la risorsa indirizzo IP come dipendenza per il cluster del punto di accesso client listener (nome della rete).

    Fare clic con il pulsante destro del mouse sul punto di accesso client del listener e quindi scegliere Proprietà. Passare alla scheda Dipendenze e aggiungere la nuova risorsa indirizzo IP al punto di accesso client del listener. Lo screenshot seguente illustra una risorsa cluster di tipo indirizzo IP configurata correttamente:

    Screenshot of Failover Cluster Manager that shows configured IP addresses for an availability group.

    Importante

    Il gruppo di risorse cluster include entrambi gli indirizzi IP. Entrambi gli indirizzi IP sono dipendenze per il punto di accesso client listener. Usare l'operatore OR nella configurazione delle dipendenze del cluster.

Abilitare i gruppi di disponibilità

Abilitare quindi la funzionalità Gruppi di disponibilità AlwaysOn. Completare questi passaggi nella nuova macchina virtuale di SQL Server:

  1. Nella schermata Start aprire Gestione configurazione SQL Server.

  2. Nell'albero del browser selezionare Servizi SQL Server. Fare clic con il pulsante destro del mouse sul servizio SQL Server (MSSQLSERVER) e quindi scegliere Proprietà.

  3. Selezionare la scheda Disponibilità elevata AlwaysOn e quindi selezionare Abilita gruppi di disponibilità AlwaysOn.

    Screenshot of selections for enabling Always On availability groups in SQL Server properties.

  4. Selezionare Applica. Scegliere OK nella finestra di dialogo popup.

  5. Riavviare il servizio SQL Server.

Aggiungere una replica al gruppo di disponibilità

Dopo il riavvio di SQL Server nella macchina virtuale appena creata, è possibile aggiungerlo come replica al gruppo di disponibilità:

  1. Aprire una sessione desktop remoto per l'istanza primaria di SQL Server nel gruppo di disponibilità e quindi aprire SQL Server Management Studio (SSMS).

  2. In Esplora oggetti in SSMS aprire Gruppi di disponibilità> elevata Always On. Fare clic con il pulsante destro del mouse sul nome del gruppo di disponibilità e quindi scegliere Aggiungi replica.

  3. Connettersi alla replica esistente e quindi selezionare Avanti.

  4. Selezionare Aggiungi replica e connettersi alla nuova macchina virtuale di SQL Server.

    Importante

    Una replica in un'area di Azure remota deve essere impostata sulla replica asincrona con failover manuale.

  5. Nella pagina Seleziona sincronizzazione dati iniziale selezionare Completo e specificare un percorso di rete condiviso. Per il percorso, usare la condivisione di backup creata. Nell'esempio era \\<First SQL Server>\Backup\. Fare quindi clic su Avanti.

    Nota

    La sincronizzazione completa acquisisce un backup completo del database nella prima istanza di SQL Server e lo ripristina nella seconda istanza. Per i database di grandi dimensioni, non è consigliabile eseguire la sincronizzazione completa perché potrebbe richiedere molto tempo.

    È possibile ridurre questo tempo eseguendo manualmente il backup del database e ripristinandolo con NO RECOVERY. Se il database è già ripristinato con NO RECOVERY nella seconda istanza di SQL Server prima di configurare il gruppo di disponibilità, selezionare Solo join. Se si vuole eseguire il backup dopo aver configurato il gruppo di disponibilità, selezionare Ignora sincronizzazione iniziale dei dati.

  6. Nella pagina Convalida selezionare Avanti. La pagina dovrebbe essere simile all'immagine seguente:

    Screenshot of the page that displays results of availability group validation in SSMS.

    Nota

    Un avviso per la configurazione del listener indica che non è stato configurato un listener del gruppo di disponibilità. È possibile ignorare questo avviso perché il listener è già configurato.

  7. Nella pagina Riepilogo selezionare Fine e quindi attendere che la procedura guidata configuri il nuovo gruppo di disponibilità. Nella pagina Stato è possibile selezionare Altri dettagli per visualizzare lo stato di avanzamento dettagliato.

    Al termine della configurazione della procedura guidata, esaminare la pagina Risultati per verificare che il gruppo di disponibilità sia stato creato correttamente.

  8. Fare clic su Chiudi per chiudere la procedura guidata.

Controllare il gruppo di disponibilità

In Esplora oggetti espandere Disponibilità elevata AlwaysOn e quindi espandere Gruppi di disponibilità. Fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Mostra dashboard.

Il dashboard del gruppo di disponibilità dovrebbe essere simile allo screenshot seguente, ora con un'altra replica:

Screenshot of the availability group dashboard in SSMS.

Il dashboard mostra le repliche, la modalità di failover di ogni replica e lo stato di sincronizzazione.

Controllare il listener del gruppo di disponibilità

  1. In Esplora oggetti espandere Disponibilità elevata Always On, gruppi di disponibilitàe quindi espandere Listener del gruppo di disponibilità.

  2. Fare clic con il pulsante destro del mouse sul nome del listener e scegliere Proprietà. Tutti gli indirizzi IP dovrebbero ora essere visualizzati per il listener (uno in ogni area).

    Screenshot of the Availability Group Listener Properties window in SSMS, showing both IP addresses being used for the listener.

Impostare la connessione per più subnet

La replica nel data center remoto fa parte del gruppo di disponibilità, ma si trova in una subnet diversa. Se questa replica diventa la replica primaria, potrebbero verificarsi timeout della connessione dell'applicazione. Questo comportamento è identico a quello di un gruppo di disponibilità locale in una distribuzione con più subnet. Per consentire le connessioni dalle applicazioni client, aggiornare la connessione client o configurare la memorizzazione nella cache della risoluzione dei nomi nella risorsa nome di rete del cluster.

È preferibile aggiornare la configurazione del cluster per impostare RegisterAllProvidersIP=1 e le stringhe di connessione client per impostare MultiSubnetFailover=Yes. Vedere Connessione con MultiSubnetFailover.

Se non è possibile modificare le stringhe di connessione, è possibile configurare la memorizzazione nella cache della risoluzione dei nomi. Vedere Timeout si verifica quando ci si connette a un listener Always On in un ambiente con più subnet.

Failover nell'area remota

Per testare la connettività del listener all'area remota, è possibile eseguire il failover della replica nell'area remota. Mentre la replica è asincrona, il failover è soggetto a perdita potenziale di dati. Per effettuare il failover senza perdita di dati, impostare la modalità di disponibilità come sincrona e la modalità di failover come automatica. Eseguire la procedura descritta di seguito:

  1. In Esplora oggetti connettersi all'istanza di SQL Server che ospita la replica primaria.

  2. In Gruppi di disponibilità AlwaysOn fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Proprietà.

  3. Nella pagina Generale, in Repliche di disponibilità, impostare la replica secondaria nel sito di ripristino di emergenza per usare la modalità di disponibilità Commit sincrono e la modalità failover automatico.

    Se è presente una replica secondaria nello stesso sito della replica primaria per la disponibilità elevata, impostare questa replica su Commit asincrono e Manuale.

  4. Selezionare OK.

  5. In Esplora oggetti fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Mostra dashboard.

  6. Nel dashboard verificare che la replica nel sito di ripristino di emergenza sia sincronizzata.

  7. In Esplora oggetti fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Failover. SQL Server Management Studio apre una procedura guidata per eseguire il failover di SQL Server.

  8. Selezionare Avanti e selezionare l'istanza di SQL Server nel sito di ripristino di emergenza. Selezionare di nuovo Avanti .

  9. Connettersi all'istanza di SQL Server nel sito di ripristino di emergenza e quindi selezionare Avanti.

  10. Nella pagina Riepilogo verificare le impostazioni e selezionare Fine.

Dopo aver testato la connettività, spostare nuovamente la replica primaria nel data center primario e ripristinare le normali impostazioni operative della modalità di disponibilità. La tabella seguente illustra le normali impostazioni operative per l'architettura descritta in questo articolo:

Posizione Istanza del server Ruolo Modalità di disponibilità Failover mode
Data center primario SQL-VM-1 Primaria Sincrono Automatico
Data center primario SQL-VM-2 Secondari Sincrono Automatico
Data center secondario o remoto SQL-VM-3 Secondari Asincrona Manuale

Per altre informazioni sul failover manuale pianificato e forzato, vedere gli articoli seguenti:

Passaggi successivi

Per altre informazioni, vedere: