Esercitazione: Configurare manualmente un gruppo di disponibilità - SQL Server in macchine virtuali di Azure

Si applica a:SQL Server su VM di Azure

Suggerimento

Esistono molti metodi per distribuire un gruppo di disponibilità. Semplificare la distribuzione ed eliminare la necessità di un servizio di Azure Load Balancer o di un nome di rete distribuito (DNN) per il gruppo di disponibilità AlwaysOn creando le macchine virtuali (VM) di SQL Server in più subnet all'interno della stessa rete virtuale di Azure. Se il gruppo di disponibilità è già stato creato in una singola subnet, è possibile eseguirne la migrazione a un ambiente con più subnet.

Questa esercitazione illustra come creare un gruppo di disponibilità AlwaysOn per SQL Server su VM di Azure con una singola subnet. L'esercitazione completa consente di creare un gruppo di disponibilità con una replica di database in due istanze di SQL Server.

Questo articolo consente di configurare manualmente l'ambiente del gruppo di disponibilità. È anche possibile automatizzare i passaggi usando il portale di Azure, PowerShell o l'interfaccia della riga di comando di Azure o i modelli di avvio rapido di Azure.

Tempo stimato: per completare questa esercitazione sono necessari circa 30 minuti dopo aver soddisfatto i prerequisiti.

Prerequisiti

L'esercitazione presuppone che si abbiano conoscenze di base dei gruppi di disponibilità AlwaysOn di SQL Server. Se sono necessarie altre informazioni, vedere Panoramica dei gruppi di disponibilità AlwaysOn (SQL Server).

Prima di iniziare le procedure di questa esercitazione, è necessario completare i prerequisiti per la creazione di gruppi di disponibilità AlwaysOn in macchine virtuali di Azure. Se questi prerequisiti sono già stati completati, è possibile passare a Creare il cluster.

La tabella seguente riepiloga i prerequisiti da completare prima di poter completare l'esercitazione:

Requisito Descrizione
Due istanze di SQL Server - In un set di disponibilità di Azure
- In un dominio singolo
- Con la funzionalità clustering di failover installata
Windows Server Controllo di condivisione file per un cluster
Account di servizio SQL Server Account di dominio
Account del servizio SQL Server Agent Account di dominio
Porte del firewall aperte - SQL Server: 1433 per un'istanza predefinita
- Endpoint del mirroring del database: 5022 o qualsiasi porta disponibile
- Probe di integrità dell'indirizzo IP del bilanciamento del carico per il gruppo di disponibilità: 59999 o qualsiasi porta disponibile
- Probe di integrità dell'indirizzo IP del bilanciamento del carico per la memoria centrale del cluster: 58888 o qualsiasi porta disponibile
Clustering di failover Obbligatorio per entrambe le istanze di SQL Server
Account di dominio dell'installazione - Amministratore locale in ogni istanza di SQL Server
- Membro del ruolo predefinito del server sysadmin per ogni istanza di SQL Server
Gruppi di sicurezza di rete Se l'ambiente usa gruppi di sicurezza di rete, verificare che la configurazione corrente consenta il traffico di rete attraverso le porte descritte in Configurare il firewall.

Creare il cluster

Il primo task consiste nel creare un cluster di failover di Windows Server con macchine virtuali di SQL Server e un server di controllo:

  1. Utilizzare Remote Desktop Protocol (RDP) per connettersi alla prima VM di SQL Server. A questo scopo, usare un account di dominio che sia amministratore nelle VM di SQL Server e nel server di controllo.

    Suggerimento

    Nei prerequisiti, è stato creato un account denominato CORP\Install. Usare questo account.

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

  3. Nel riquadro sinistro, fare clic con il pulsante destro del mouse su Gestione cluster di failover, quindi selezionare Crea cluster.

    Screenshot of Failover Cluster Manager and the option for creating a cluster on the shortcut menu.

  4. Nella Creazione guidata Cluster, creare un cluster a un nodo procedendo nelle pagine con le impostazioni della tabella seguente:

    Pagina Impostazione
    Prima di iniziare Usare valori predefiniti.
    Selezione dei server In Immettere il nome del server, digitare il nome della prima VM di SQL Server, quindi selezionare Aggiungi.
    Avviso di convalida Selezionare No. Non è necessario il supporto di Microsoft per il cluster e pertanto non desidero eseguire i test di convalida. Selezionando Avanti verrà proseguita la creazione del cluster.
    Punto di accesso per l'amministrazione del cluster In Nome cluster, digitare un nome di cluster (ad esempio, SQLAGCluster1).
    Conferma Usare le impostazioni predefinite a meno a meno che non si usino spazi di archiviazione.

Impostare l'indirizzo IP del cluster di failover di Windows Server

Nota

In Windows Server 2019 il cluster crea un valore per il Nome server distribuito anziché il valore per il Nome di rete del cluster. Se si usa Windows Server 2019, ignorare tutti i passaggi che fanno riferimento al nome principale del cluster in questa esercitazione. È possibile creare un nome di rete del cluster usando PowerShell. Per altre informazioni, vedere il post di blog Cluster di failover: Oggetto rete cluster.

  1. In Gestione cluster di failover scorrere verso il basso fino a Risorse principali del cluster ed espandere i dettagli del cluster. Lo stato di entrambe le risorse Nome e Indirizzo IP deve essere Operazione non riuscita.

    Non è possibile connettere la risorsa indirizzo IP perché al cluster è assegnato lo stesso indirizzo IP della macchina. Si tratta di un indirizzo duplicato.

  2. Fare clic con il pulsante destro del mouse sulla risorsa Indirizzo IP che ha restituito un errore, quindi scegliere Proprietà.

    Screenshot of Failover Cluster Manager that shows selections for opening properties for the IP address.

  3. Selezionare Indirizzo IP statico. Specificare un indirizzo disponibile dalla stessa subnet delle macchine virtuali.

  4. Nella sezione Risorse principali del cluster, fare clic con il pulsante destro del mouse sul nome del cluster e selezionare Porta online. Attendere finché entrambe le risorse non siano online.

    Quando la risorsa del nome cluster torna online, il server controller di dominio viene aggiornato con un nuovo account computer Active Directory. Usare questo account Active Directory per eseguire il servizio del cluster del gruppo di disponibilità in un secondo momento.

Aggiungere l'altra istanza di SQL Server al cluster

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

    Screenshot of Failover Cluster Manager that shows selections for adding a node to a cluster.

  2. In Aggiunta guidata nodi selezionare Avanti.

  3. Nella pagina Seleziona server, aggiungere la seconda VM di SQL Server. Immettere il nome della VM in Immettere il nome del server, quindi selezionare Aggiungi>Avanti.

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

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

    Screenshot of the page in the Add Node Wizard that confirms the addition of a node to the cluster.

    Avviso

    Se non si deseleziona Aggiungi tutte le risorse di archiviazione idonee al cluster, Windows rende non visibili i dischi virtuali durante il processo di clustering. Di conseguenza, questi dischi non vengono visualizzati in Gestione disco o in Esplora oggetti fino a quando gli spazi di archiviazione non vengono rimossi dal cluster e ricollegati usando PowerShell.

  6. Selezionare Avanti.

  7. Selezionare Fine.

    Gestione cluster di failover visualizza il cluster con un nuovo nodo elencato nel contenitore Nodi.

  8. Disconnettersi dalla sessione desktop remoto.

Aggiungere una condivisione file per un quorum del cluster

In questo esempio il cluster Windows usa una condivisione file per creare un quorum. Questa esercitazione usa un quorum NodeAndFileShareMajority. Per altre informazioni, vedere Configurare e gestire il quorum.

  1. Connettersi alla VM del server di controllo della condivisione file usando una sessione Desktop remoto.

  2. In Server Manager, selezionare Strumenti. Aprire Gestione computer.

  3. Selezionare Cartelle condivise.

  4. Fare clic con il pulsante destro del mouse su Condivisioni, quindi selezionare Nuova condivisione.

    Screenshot that shows selections for creating a new share in Computer Management.

    Usare la Creazione guidata cartella condivisa per creare una condivisione.

  5. Nella pagina Percorso cartella, selezionare Sfoglia. Individuare o creare un percorso per la cartella condivisa, quindi selezionare Avanti.

  6. Nella pagina Nome, descrizione e impostazioni, verificare il nome e il percorso della condivisione. Selezionare Avanti.

  7. Nella pagina Autorizzazioni cartella condivisa, impostare Personalizza autorizzazioni. Seleziona Personalizza.

  8. Nella finestra di dialogo Personalizza autorizzazioni, selezionare Aggiungi.

  9. Verificare che l'account usato per creare il cluster abbia il controllo completo.

    Screenshot of the dialog for customizing permissions, showing that the Install account has full control of the share.

  10. Seleziona OK.

  11. Nella pagina Autorizzazioni cartella condivisa, selezionare Fine. Quindi, selezionare di nuovo Fine.

  12. Disconnettersi dal server.

Configurare il quorum del cluster

Nota

A seconda della configurazione del gruppo di disponibilità, potrebbe essere necessario modificare il voto quorum di un nodo che partecipa al cluster di failover di Windows Server. Per ulteriori informazioni, vedere Configurare il quorum del clustr per SQL Server in VM di Azure.

  1. Connettersi per prima cosa al nodo del cluster mediante una sessione Desktop remoto.

  2. In Gestione cluster di failover fare clic con il pulsante destro del mouse sul cluster, indicare Altre azioni, quindi selezionare Configura impostazioni quorum del cluster.

    Screenshot of Failover Cluster Manager that shows selections for configuring cluster quorum settings.

  3. In Configurazione guidata quorum del cluster, selezionare Avanti.

  4. Nella pagina Selezione opzione configurazione quorum, scegliere Seleziona il quorum di controllo, quindi selezionare Avanti.

  5. Nella pagina Seleziona il quorum di controllo selezionare Configura condivisione file di controllo.

    Suggerimento

    Windows Server 2016 supporta un cloud di controllo. Se si sceglie questo tipo di controllo, non è necessario un controllo di condivisione file. Per altre informazioni, consultare Distribuire un cloud di controllo per un cluster di failover. Questa esercitazione utilizza un controllo di condivisione file supportato dai sistemi operativi precedenti.

  6. In Configurazione condivisione file di controllo immettere il percorso per la condivisione creata. Quindi, selezionare Avanti.

  7. Verificare le impostazioni nella pagina Conferma. Quindi, selezionare Avanti.

  8. Selezionare Fine.

Le risorse principali del cluster vengono configurate con un controllo di condivisione file.

Abilitare i gruppi di disponibilità

Successivamente, abilitare i gruppi di disponibilità AlwaysOn. Completare questi passaggi in entrambe le VM di SQL Server.

  1. Dalla schermata Start aprire Gestione configurazione SQL Server.

  2. Selezionare Servizi di SQL Server nel menu ad albero. Quindi, fare clic con il pulsante destro del mouse sul servizio SQL Server (MSSQLSERVER) e selezionare Proprietà.

  3. Selezionare la scheda Disponibilità elevata Always On, quindi selezionare Abilita gruppi di disponibilità Always On.

    Screenshot that shows selections for enabling Always On availability groups.

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

  5. Riavviare il servizio SQL Server.

Abilitare la funzionalità FILESTREAM

Se non è in uso FILESTREAM per il database nel gruppo di disponibilità, ignorare questo passaggio e andare a quello successivo: Crea database.

Nel caso in cui sia prevista l'aggiunta di un database al gruppo di disponibilità che utilizza FILESTREAM, è necessario abilitare FILESTREAM, poiché la funzionalità è disabilitata per impostazione predefinita. Usare la Gestione configurazione SQL Server per abilitare la funzionalità in entrambe le istanze di SQL Server.

Per abilitare la funzionalità FILESTREAM, seguire questa procedura:

  1. Avviare il file RDP nella prima VM di SQL Server (ad esempio, SQL-VM-1) con un account di dominio che sia un membro del ruolo predefinito del server amministratore di sistema, ad esempio l'account di dominio CORP\Install creato nel documento dei prerequisiti

  2. Dalla schermata Start di una delle VM di SQL Server, avviare Gestione configurazione SQL Server.

  3. Nell'albero del browser, selezionare Servizi di SQL Server, fare clic con il pulsante destro del mouse sul servizio SQL Server (MSSQLSERVER) e selezionare Proprietà.

  4. Selezionare la scheda FILESTREAM, quindi spuntare la casella Abilita FILESTREAM per l'accesso Transact-SQL:

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

  6. In SQL Server Management Studio, fare clic su Nuova query per visualizzare l'editor di query.

  7. Nell'editor di query, immettere il seguente codice Transact-SQL:

    EXEC sp_configure filestream_access_level, 2  
    RECONFIGURE
    
  8. Fare clic su Esegui.

  9. Riavviare il servizio SQL Server.

  10. Ripetere questi passaggi per l'altra istanza di SQL Server.

Creare un database nella prima istanza di SQL Server

  1. Aprire il file RDP nella prima VM di SQL Server con un account di dominio che sia membro del ruolo predefinito del server sysadmin.
  2. Aprire SQL Server Management Studio (SSMS) e connettersi alla prima istanza di SQL Server.
  3. In Esplora oggetti fare clic con il pulsante destro del mouse su Database, quindi scegliere Nuovo database.
  4. In Nome database immettere MyDB1, quindi selezionare OK.

Creare una condivisione di backup

  1. Sulla prima VM di SQL Server in Gestione server, selezionare Strumenti. Aprire Gestione computer.

  2. Selezionare Cartelle condivise.

  3. Fare clic con il pulsante destro del mouse su Condivisioni, quindi selezionare Nuova condivisione.

    Screenshot of selections for starting the process of creating a backup share.

    Usare la Creazione guidata cartella condivisa per creare una condivisione.

  4. Nella pagina Percorso cartella, selezionare Sfoglia. Individuare o creare un percorso per la cartella condivisa del backup del database, quindi selezionare Avanti.

  5. Nella pagina Nome, descrizione e impostazioni, verificare il nome e il percorso della condivisione. Quindi, selezionare Avanti.

  6. Nella pagina Autorizzazioni cartella condivisa, impostare Personalizza autorizzazioni. Quindi, selezionare Personalizzato.

  7. Nella finestra di dialogo Personalizza autorizzazioni, selezionare Aggiungi.

  8. Spuntare Controllo completo per concedere l'accesso completo alla condivisione dell'account del servizio SQL Server (Corp\SQLSvc):

    Screenshot of the Customize Permissions dialog. Make sure that the SQL Server service accounts for both servers have full control.

  9. Seleziona OK.

  10. Nella pagina Autorizzazioni cartella condivisa, selezionare Fine. Selezionare di nuovo Fine.

Eseguire un backup completo del database

È necessario eseguire il backup del nuovo database per inizializzare la catena di log. Il nuovo database non può essere incluso in un gruppo di disponibilità se non se ne esegue un backup.

  1. In Esplora oggetti, fare clic con il pulsante destro del mouse sul database, indicare Attività, quindi selezionare Backup.

  2. Scegliere OK per eseguire un backup completo nel percorso di backup predefinito.

Creare un gruppo di disponibilità

È ora possibile creare e configurare un gruppo di disponibilità eseguendo i seguenti task:

  • Creare un database nella prima istanza di SQL Server.
  • Eseguire un backup completo e un backup del log delle transazioni del database.
  • Ripristinare i backup completi e del log nella seconda istanza di SQL Server mediante l'opzione NO RECOVERY.
  • Creare il gruppo di disponibilità (MyTestAG) con commit sincrono, failover automatico e repliche secondarie leggibili.

Creare il gruppo di disponibilità

  1. Connettere la VM di SQL Server mediante desktop remoto e aprire SQL Server Management Studio.

  2. In Esplora oggetti in SSMS, fare clic con il pulsante destro del mouse su Disponibilità elevata Always On e selezionare Creazione guidata Gruppo di disponibilità.

    Screenshot of Object Explorer in SSMS, with the shortcut command for starting the New Availability Group Wizard.

  3. Nella pagina Introduzione, seleziona Avanti. Nella pagina Specifica opzioni del gruppo di disponibilità, immettere il nome del gruppo di disponibilità nel campo Nome gruppo di disponibilità. Ad esempio, immettere MyTestAG. Quindi, selezionare Avanti.

    Screenshot that shows specifying an availability group name in the New Availability Group Wizard in SSMS.

  4. Nella pagina Seleziona database, selezionare il database, quindi Avanti.

    Nota

    Il database soddisfa i prerequisiti per un gruppo di disponibilità in quanto è stato eseguito almeno un backup completo sulla replica primaria usata.

    Screenshot that shows selecting databases in the New Availability Group Wizard in SSMS.

  5. Nella pagina Specifica repliche, selezionare Aggiungi replica.

    Screenshot of the button for adding a replica in the New Availability Group Wizard in SSMS.

  6. Nella finestra di dialogo Connetti al server, per Nome server, immettere il nome della seconda istanza di SQL Server. Selezionare Connetti.

    Nella pagina Specifica repliche, verrà ora visualizzato il secondo server elencato in Repliche di disponibilità. Configurare le repliche come segue.

    Screenshot that shows two servers listed as replicas in the New Availability Group Wizard in SSMS.

  7. Selezionare Endpoint per visualizzare l'endpoint di mirroring del database per questo gruppo di disponibilità. Usare la stessa porta usata quando si è impostata la regola del firewall per gli endpoint del mirroring del database .

    Screenshot of the Endpoints tab in the New Availability Group Wizard in SSMS.

  8. Nella pagina Seleziona sincronizzazione dei dati iniziale selezionare Completa e specificare un percorso di rete condiviso. Per il percorso, usare la condivisione di backup creata. Nell'esempio era \\<Prima istanza di SQL Server>\Backup. Selezionare 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, la sincronizzazione completa non è consigliabile perché può richiedere diverso tempo.

    È possibile ridurre manualmente il tempo necessario acquisendo un backup del database e ripristinandolo con NO RECOVERY. Se il database è già stato ripristinato con NO RECOVERY nella seconda istanza di SQL Server prima di configurare il gruppo di disponibilità, scegliere Solo join. Per acquisire il backup dopo la configurazione del gruppo di disponibilità, selezionare Ignora sincronizzazione dei dati iniziale.

    Screenshot of the options for data synchronization in the New Availability Group Wizard in SSMS.

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

    Screenshot of the page that shows the results of validation in the New Availability Group Wizard in SSMS.

    Nota

    È presente un avviso per la configurazione del listener poiché non è stato configurato un listener del gruppo di disponibilità. È possibile ignorare questo avviso perché nelle macchine virtuali di Azure viee creato il listener dopo la creazione del servizio di bilanciamento del carico di Azure.

  10. Nella pagina Riepilogo selezionare Fine e quindi attendere il completamento della configurazione del nuovo gruppo di disponibilità tramite la procedura guidata. Per visualizzare lo stato dettagliato è possibile selezionare Altri dettagli nella pagina Stato.

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

    Screenshot that shows successful completion of the New Availability Group Wizard in SSMS.

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

Controllare il gruppo di disponibilità

  1. In Esplora oggetti espandere Disponibilità elevata AlwaysOn e quindi espandere Gruppi di disponibilità. A questo punto viene visualizzato il nuovo gruppo di disponibilità in questo contenitore. Fare clic con il pulsante destro del mouse sul gruppo di disponibilità e scegliere Mostra dashboard.

    Screenshot of Object Explorer in SSMS that shows selections for opening a dashboard for an availability group.

    L'aspetto del dashboard del gruppo di disponibilità dovrebbe essere simile a quello illustrato nello screenshot seguente:

    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.

  2. In Gestione cluster di failover selezionare il cluster. Selezionare Ruoli.

    Il nome del gruppo di disponibilità usato è un ruolo nel cluster. Questo gruppo di disponibilità non ha un indirizzo IP per le connessioni client perché non è stato configurato un listener. Il listener verrà configurato dopo la creazione di un servizio di bilanciamento del carico di Azure.

    Screenshot of an availability group in Failover Cluster Manager.

    Avviso

    Non tentare di eseguire il failover del gruppo di disponibilità da Gestione cluster di failover. Tutte le operazioni di failover devono essere eseguite nel dashboard del gruppo di disponibilità in SSMS. Ulteriori informazioni sulle restrizioni relative all'utilizzo di Gestione cluster di failover con i gruppi di disponibilità.

A questo punto, è presente un gruppo di disponibilità con due repliche di SQL Server. È possibile spostare il gruppo di disponibilità tra le istanze. Non è ancora possibile connettersi al gruppo di disponibilità perché non si dispone di un listener.

Nelle macchine virtuali di Azure il listener richiede un servizio di bilanciamento del carico. Il passaggio successivo consiste nel creare il servizio di bilanciamento del carico in Azure.

Creare un servizio di bilanciamento del carico di Azure

Nota

Le distribuzioni dei gruppi di disponibilità in più subnet non richiedono un bilanciamento del carico. In un ambiente con subnet singola, i clienti che usano SQL Server 2019 CU8 e versioni successive in Windows 2016 e versioni successive possono sostituire il tradizionale listener di VNN e Azure Load Balancer con un listener del nome di rete distribuito (DNN). Se si desidera usare un DNN, ignorare i passaggi dell'esercitazione per configurare Azure Load Balancer per il gruppo di disponibilità.

Nelle macchine virtuali di Azure in una subnet singola, un gruppo di disponibilità di SQL Server richiede un Load Balancer. Il servizio di bilanciamento del carico contiene gli indirizzi IP per i listener del gruppo di disponibilità e per il cluster di failover di Windows Server. Questa sezione è un riepilogo della creazione del servizio di bilanciamento del carico nel portale di Azure.

Un Load Balancer in Azure può essere standard o basic. Il Load Balancer Standard offre più funzionalità rispetto al Load Balancer Basic. Per un gruppo di disponibilità, il Load Balancer Standard è obbligatorio se si usa una zona di disponibilità (invece di un set di disponibilità). Per dettagli sulla differenza tra gli SKU, consultare SKU di Azure Load Balancer.

Importante

Il 30 settembre 2025, lo SKU Basic per Azure Load Balancer verrà ritirato. Per altre informazioni, consultare l'annuncio ufficiale. Se attualmente si usa Load Balancer Basic, eseguire l'aggiornamento a Load Balancer Standard prima della data di ritiro. Per indicazioni, vedere Aggiornare Load Balancer.

  1. Nel portale di Azure, passare al gruppo di risorse che contiene le istanze delle VM di SQL Server e selezionare + Aggiungi.

  2. Cercare servizio di bilanciamento del carico. Scegliere il servizio di bilanciamento del carico pubblicato da Microsoft.

    Screenshot that shows selecting a Microsoft-published load balancer.

  3. Seleziona Crea.

  4. Nella pagina Crea Load Balancer, configurare i seguenti parametri per il Load Balancer:

    Impostazione Immissione o selezione
    Abbonamento Usare la stessa sottoscrizione della macchina virtuale.
    Gruppo di risorse Usare lo stesso gruppo di risorse della macchina virtuale.
    Nome Usare un nome in formato testo per il Load Balancer, ad esempio sqlLB.
    Area Usare la stessa area della macchina virtuale.
    SKU Selezionare Standard.
    Type Selezionare Interno.

    La pagina dovrebbe essere simile a:

    Screenshot of the Azure portal that shows selected parameters for a load balancer.

  5. Selezionare Avanti: Configurazione IP front-end.

  6. Selezionare + Aggiungi una configurazione IP front-end.

    Screenshot of the button for creating a frontend IP configuration in the Azure portal.

  7. Configurare l'indirizzo IP front-end usando i valori seguenti:

    • Nome: immettere un nome che identifica la configurazione IP front-end.
    • Rete virtuale: selezionare la stessa rete delle macchine virtuali.
    • Subnet: selezionare la stessa subnet delle macchine virtuali.
    • Assegnazione: selezionare Statico.
    • Indirizzo IP: usare un indirizzo disponibile nella subnet. Usare questo indirizzo per il listener del gruppo di disponibilità. Questo indirizzo è diverso dall'indirizzo IP del cluster.
    • Zona di disponibilità: in alternativa, scegliere una zona di disponibilità in cui distribuire l'indirizzo IP.

    L'immagine seguente mostra la finestra di dialogo Aggiungi configurazione IP front-end:

    Screenshot of the Azure portal that shows the dialog for frontend IP configuration.

  8. Selezionare Aggiungi.

  9. Scegliere Rivedi + Crea per convalidare la configurazione. Quindi, selezionare Crea per creare il Load Balancer e l'indirizzo IP front-end.

Per configurare il sistema di bilanciamento del carico, è necessario creare un pool back-end e un probe e impostare le regole di bilanciamento del carico.

Aggiungere pool back-end per il listener del gruppo di disponibilità

  1. Nel portale di Azure, passare al gruppo di risorse. Potrebbe essere necessario aggiornare la visualizzazione per vedere il servizio di bilanciamento del carico appena creato.

    Screenshot of the Azure portal that shows a load balancer in an availability group.

  2. Selezionare il sistema di bilanciamento del carico, selezionare Pool back-end e quindi + Aggiungi.

  3. In Nome, specificare un nome per il pool back-end.

  4. Per Configurazione pool back-end, selezionare NIC.

  5. Selezionare Aggiungi per associare il pool back-end con il set di disponibilità contenente le VM.

  6. In Macchina virtuale, scegliere la macchina virtuale che ospiterà le repliche del gruppo di disponibilità. Non includere il server di controllo della condivisione file.

    Nota

    Se non vengono specificate entrambe le macchine virtuali, verranno stabilite solo le connessioni alla replica primaria.

  7. Selezionare Aggiungi per aggiungere le VM al pool back-end.

  8. Selezionare Salva per creare il pool back-end.

Impostare il probe

  1. Nel portale di Azure, selezionare il Load Balancer, selezionare Probe integrità, quindi + Aggiungi.

  2. Impostare il probe di integrità del listener nel modo seguente:

    Impostazione Descrizione Esempio
    Nome Testo SQLAlwaysOnEndPointProbe
    Protocollo Scegliere TCP TCP
    Porta Qualsiasi porta non usata 59999
    Intervallo Intervallo di tempo tra i tentativi del probe, in secondi 5
  3. Selezionare Aggiungi.

Impostare le regole di bilanciamento del carico

  1. Nel portale di Azure, selezionare il servizio di bilanciamento del carico, selezionare le regole di bilanciamento del carico, quindi + Aggiungi.

  2. Impostare le regole di bilanciamento del carico del listener come segue:

    Impostazione Descrizione Esempio
    Nome Testo SQLAlwaysOnEndPointListener
    Indirizzo IP front-end IP Scegliere un indirizzo Usare l'indirizzo creato quando si è creato il servizio di bilanciamento del carico.
    Pool back-end Scegliere il pool back-end Selezionare il pool back-end che contiene le macchine virtuali destinate al servizio di bilanciamento del carico.
    Protocollo Scegliere TCP TCP
    Porta Usare la porta per il listener del gruppo di disponibilità 1433
    Porta back-end Questo campo non viene usato quando un indirizzo IP mobile è impostato per Direct Server Return 1433
    Probe di integrità Il nome specificato per il probe SQLAlwaysOnEndPointProbe
    Persistenza della sessione Elenco a discesa Nessuno
    Timeout di inattività Minuti in cui tenere aperta una connessione TCP 4
    IP mobile (Direct Server Return) Una topologia di flussi e uno schema di mappatura degli indirizzi IP Abilitato

    Avviso

    Direct Server Return viene impostato durante la creazione. Non è possibile modificarlo.

  3. Seleziona Salva.

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

Anche l'indirizzo IP per il cluster di failover di Windows Server deve trovarsi nel Load Balancer. Se si sta utilizzando Windows Server 2019, ignorare questo processo perché il cluster crea un valore per il Nome server distribuito anziché il valore per il Nome di rete del cluster.

  1. Nel portale di Azure passare allo stesso servizio di bilanciamento del carico di Azure. Selezionare Configurazione IP front-end, quindi + Aggiungi. Usare l'indirizzo IP configurato per il cluster di failover di Windows Sevrer nelle risorse principali del cluster. Impostare l'indirizzo IP come Statico.

  2. Nel servizio di bilanciamento del carico selezionare Probe integrità e quindi + Aggiungi.

  3. Aggiungere la probe di integrità dell'indirizzo IP principale del cluster per il cluster di failover di Windows Server come segue:

    Impostazione Descrizione Esempio
    Nome Testo WSFCEndPointProbe
    Protocollo Scegliere TCP TCP
    Porta Qualsiasi porta non usata 58888
    Intervallo Intervallo di tempo tra i tentativi del probe, in secondi 5
  4. Scegliere Aggiungi per impostare il probe di integrità.

  5. Selezionare Regole di bilanciamento del carico, quindi + Aggiungi.

  6. Impostare le regole di bilanciamento del carico per l'indirizzo IP principale del cluster come indicato di seguito:

    Impostazione Descrizione Esempio
    Nome Testo WSFCEndPoint
    Indirizzo IP front-end IP Scegliere un indirizzo Usare l'indirizzo creato al momento della configurazione dell'indirizzo IP per il cluster di failover di Windows Sevrer. Questo è diverso dall'indirizzo IP del listener.
    Pool back-end Scegliere il pool back-end Selezionare il pool back-end che contiene le macchine virtuali destinate al servizio di bilanciamento del carico.
    Protocollo Scegliere TCP TCP
    Porta Usare la porta per l'indirizzo IP del cluster. Si tratta di una porta disponibile che non viene usata per la porta probe del listener. 58888
    Porta back-end Questo campo non viene usato quando un indirizzo IP mobile è impostato per Direct Server Return 58888
    Probe Il nome specificato per il probe WSFCEndPointProbe
    Persistenza della sessione Elenco a discesa Nessuno
    Timeout di inattività Minuti in cui tenere aperta una connessione TCP 4
    IP mobile (Direct Server Return) Una topologia di flussi e uno schema di mappatura degli indirizzi IP Abilitato

    Avviso

    Direct Server Return viene impostato durante la creazione. Non è possibile modificarlo.

  7. Seleziona OK.

Configurare il listener

A questo punto, è necessario configurare il listener del gruppo di disponibilità nel cluster di failover.

Nota

Questa esercitazione illustra come creare un singolo listener con un indirizzo IP per il Load Balancer interno. Per creare i listener tramite uno o più indirizzi IP, vedere Configurare uno o più listener del gruppo di disponibilità Always On.

Il listener del gruppo di disponibilità è un nome di rete e indirizzo IP sul quale è in ascolto il gruppo di disponibilità di SQL Server. Creare il listener del gruppo di disponibilità:

  1. Ottenere il nome della risorsa di rete di cluster:

    a. Usare RDP per connettersi alla macchina virtuale di Azure che ospita la replica primaria.

    b. Aprire Gestione cluster di failover.

    c. Selezionare il nodo Reti e annotare il nome di rete del cluster. Usare questo nome nella variabile $ClusterNetworkName nello script di PowerShell. Nell'immagine seguente il nome della rete di cluster è Cluster Network 1:

    Screenshot that shows a cluster network name in Failover Cluster Manager.

  2. Aggiungere il punto di accesso client. Il punto di accesso client è il nome della rete che le applicazioni useranno per connettersi ai database nel gruppo di disponibilità.

    a. In Gestione cluster di failover espandere il nome del cluster, quindi fare clic su Ruoli.

    b. Nel pannello Ruoli fare clic con il pulsante destro del mouse sul nome del gruppo di disponibilità e quindi scegliere Aggiungi risorsa>Punto di accesso client.

    Screenshot of Failover Cluster Manager that shows selecting the Client Access Point command on the shortcut menu for the availability group.

    c. Nella casella Nome creare un nome per il nuovo listener. Il nome del nuovo listener è il nome della rete che le applicazioni useranno per connettersi ai database nel gruppo di disponibilità di SQL Server.

    d. Per completare la creazione del listener, selezionare Avanti due volte, quindi Fine. Non portare il listener o la risorsa in linea a questo punto.

  3. Portare offline il ruolo del cluster del gruppo di disponibilità. In Gestione cluster di failover; in Ruoli fare clic con il pulsante destro del mouse sul ruolo e quindi scegliere Arresta ruolo.

  4. Configurare la risorsa IP per il gruppo di disponibilità:

    a. Scegliere la scheda Risorse e quindi espandere il punto di accesso client creato. Il punto di accesso client è offline.

    Screenshot of Failover Cluster Manager that shows an offline status for a client access point.

    b. Fare clic con il pulsante destro del mouse sulla risorsa IP, quindi selezionare Proprietà. Annotare il nome dell'indirizzo IP e usarlo nella variabile $IPResourceName nello script di PowerShell.

    c. In Indirizzo IP selezionare Indirizzo IP statico. Impostare l'indirizzo IP sullo stesso indirizzo usato quando è stato impostato l'indirizzo del servizio di bilanciamento del carico nel portale di Azure.

    Screenshot of Failover Cluster Manager that shows the selection of an IP address.

  5. Rendere il gruppo di disponibilità di SQL Server dipendente dal punto di accesso client:

    a. In Gestione cluster di failover selezionare Ruoli e quindi il gruppo di disponibilità.

    b. Nella scheda Risorse, fare clic con il pulsante destro del mouse sul gruppo di disponibilità in Altre risorse e quindi scegliereProprietà.

    c. Nella scheda Dipendenze aggiungere il nome del punto di accesso client (listener).

    Screenshot of Failover Cluster Manager that shows adding a name on the Dependencies tab.

    d. Seleziona OK.

  6. Rendere il punto di accesso client dipendente dall'indirizzo IP:

    a. In Gestione cluster di failover selezionare Ruoli e quindi il gruppo di disponibilità.

    b. Nella scheda Risorse fare clic con il pulsante destro del mouse sul punto di accesso client in Nome server e quindi selezionare Proprietà.

    Screenshot of Failover Cluster Manager that shows the Properties menu option for the listener's name.

    c. Selezionare la scheda Dipendenze. Verificare che l'indirizzo IP sia una dipendenza. In caso contrario, impostare una dipendenza sull'indirizzo IP. Se sono presenti più risorse elencate, verificare che gli indirizzi IP abbiano dipendenze OR anziché AND. Selezionare OK.

    Screenshot of the Dependencies tab that shows an IP resource for an availability group.

    Suggerimento

    È possibile confermare che le dipendenze sono state configurate correttamente. In Gestione cluster di failover passare a Ruoli, fare clic con il pulsante destro del mouse sul gruppo di disponibilità, scegliere Altre azioni e infinefare clic su Visualizza rapporto dipendenze. Quando le dipendenze sono configurate correttamente, il gruppo di disponibilità dipende dal nome della rete e il nome della rete dipende dall'indirizzo IP.

  7. Impostare i parametri del cluster in PowerShell:

    a. Copiare lo script di PowerShell seguente in una delle istanze di SQL Server. Aggiornare le variabili per l'ambiente.

    • $ClusterNetworkName Trovare il nome in Gestione cluster di failover selezionando Reti, fare clic con il pulsante destro del mouse sulla rete e scegliere Proprietà. $ClusterNetworkName si trova in Nome nella scheda Generale.

    • $IPResourceName è il nome assegnato alla risorsa indirizzo IP in Gestione cluster di failover. Questo si trova in Gestione cluster di failover selezionando Ruoli‬, quindi selezionareSQL Server AG o il nome dell'istanza di cluster del failover‭‬, in seguito selezionare la scheda Risorse in ‬nome Server‭‬, fare clic con il pulsante destro del mouse sulla risorsa indirizzo IP, quindi scegliere ‭Proprietà. Il valore corretto è riportato in Nome nella scheda Generale.

    • $ListenerILBIP è l'indirizzo IP creato nel bilanciamento del carico di Azure per il listener del gruppo di disponibilità. Trovare $ListenerILBIP in Gestione cluster di failover, nella stessa pagina delle proprietà in cui si trova il nome della risorsa del listener AG/FCI di SQL Server.

    • $ListenerProbePort è la porta configurata nel Load Balancer di Azure per il listener del gruppo di disponibilità, ad esempio 59999. È valida qualsiasi porta TCP inutilizzata.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<IPResourceName>" # The IP address resource name.
    $ListenerILBIP = "<n.n.n.n>" # The IP address of the internal load balancer. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ListenerProbePort = <nnnnn>
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Impostare i parametri del cluster eseguendo lo script di PowerShell in uno dei nodi del cluster.

    Nota

    Se le istanze di SQL Server sono in aree separate, è necessario eseguire lo script di PowerShell due volte. La prima volta usare i valori $ListenerILBIP e $ListenerProbePort della prima area. La seconda volta usare i valori $ListenerILBIP e $ListenerProbePort della seconda area. Il nome della rete e il nome della risorsa IP del cluster sono inoltre diversi per ciascuna regione.

  8. Portare online il ruolo del cluster del gruppo di disponibilità. In Gestione cluster di failover in Ruoli fare clic con il pulsante destro del mouse sul ruolo e selezionare Avvia ruolo.

Se necessario, ripetere i passaggi precedenti per impostare i parametri del cluster per l'indirizzo IP del cluster di failover di Windows Server:

  1. Impostare il nome dell'indirizzo IP del cluster di failover di Windows Server. In Gestione cluster di failover in Risorse principali del cluster individuare Nome server.

  2. Fare clic con il pulsante destro del mouse su Indirizzo IP e scegliere Proprietà.

  3. Copiare il nome dell'indirizzo IP da Nome. Potrebbe essere Indirizzo IP del cluster.

  4. Impostare i parametri del cluster in PowerShell:

    a. Copiare lo script di PowerShell seguente in una delle istanze di SQL Server. Aggiornare le variabili per l'ambiente.

    • $ClusterCoreIP è l'indirizzo IP creato nel Load Balancer di Azure per la risorsa cluster principale del cluster di failover di Windows Server. È differente dall'indirizzo IP per il listener del gruppo di disponibilità.

    • $ClusterProbePort è la porta configurata nel Load Balancer di Azure per il probe di integrità del cluster di failover di Windows Server. È differente dal probe per il listener del gruppo di disponibilità.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<ClusterIPResourceName>" # The IP address resource name.
    $ClusterCoreIP = "<n.n.n.n>" # The IP address of the cluster IP resource. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ClusterProbePort = <nnnnn> # The probe port from WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener.
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Impostare i parametri del cluster eseguendo lo script di PowerShell in uno dei nodi del cluster.

Se una risorsa SQL è configurata per l'uso di una porta compresa tra 49152 e 65536 (intervallo di porte dinamiche predefinito per TCP/IP), aggiungere un'esclusione per ogni porta. Per risorse si intendono:

  • Motore di database di SQL Server
  • Listener del gruppo di disponibilità Always On
  • Probe di integrità per l'istanza del cluster di failover
  • Endpoint del mirroring del database
  • Risorsa IP principale del cluster

L'aggiunta di un'esclusione impedirà l'assegnazione dinamica di altri processi di sistema alla stessa porta. Per questo scenario, configurare le esclusioni seguenti in tutti i nodi del cluster:

  • netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
  • netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent

È importante configurare l'esclusione della porta quando la porta non è in uso. In caso contrario, il comando avrà esito negativo con un messaggio simile a "Il processo non può accedere al file perché in uso da un altro processo". Per verificare che le esclusioni siano configurate correttamente, usare il comando seguente: ‭netsh int ipv4 show excludedportrange tcp.

Avviso

La porta del probe di integrità del listener del gruppo di disponibilità deve essere diversa dalla porta del probe di integrità dell'indirizzo IP principale del cluster. In questi esempi la porta del listener è 59999 e la porta del probe di integrità dell'indirizzo IP principale del cluster è 58888. Entrambe le porte richiedono una regola del firewall "consenti ingresso".

Impostare la porta del listener

In SQL Server Management Studio impostare la porta del listener:

  1. Aprire SQL Server Management Studio e connettersi alla replica primaria.

  2. Passare a Disponibilità elevata Always On>Gruppi di disponibilità>Listener gruppo di disponibilità.

  3. Fare clic con il pulsante destro del mouse sul nome del listener creato in Gestione cluster di failover, quindi selezionare Proprietà.

  4. Nella casella Porta specificare il numero di porta per il listener del gruppo di disponibilità. Il valore predefinito è 1433. Seleziona OK.

Ora si ha un gruppo di disponibilità di SQL Server nelle VM di Azure in esecuzione in modalità Azure Resource Manager.

Testare la connessione al listener

Per testare la connessione:

  1. Usare RDP per connettersi a una VM di SQL Server che si trova nella stessa rete virtuale ma non è proprietaria della replica, come ad esempio l'altra replice.

  2. Usare l'utilità sqlcmd per testare la connessione. Lo script seguente, ad esempio, stabilisce una connessione sqlcmd alla replica primaria tramite il listener utilizzando l'autenticazione di Windows:

    sqlcmd -S <listenerName> -E
    

    Se il listener usa una porta diversa da quella predefinita (1433), specificare la porta nella stringa di connessione. Il seguente comando , ad esempio, si connette a un listener in corrispondenza della porta 1435:

    sqlcmd -S <listenerName>,1435 -E
    

L'utilità sqlcmd si connette automaticamente a qualsiasi istanza di SQL Server rappresenti la replica primaria corrente del gruppo di disponibilità.

Suggerimento

Verificare che la porta specificata sia aperta nel firewall di entrambe le VM di SQL Server. Per entrambi i server è necessaria una regola in ingresso per la porta TCP usata. Per altre informazioni, vedere Aggiungere o modificare le regole del firewall.

Passaggi successivi

Per altre informazioni, vedere: