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:
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.
Nel dashboard Server Manager selezionare Strumenti, quindi Gestione cluster di failover.
Nel riquadro sinistro, fare clic con il pulsante destro del mouse su Gestione cluster di failover, quindi selezionare Crea cluster.
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.
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.
Fare clic con il pulsante destro del mouse sulla risorsa Indirizzo IP che ha restituito un errore, quindi scegliere Proprietà.
Selezionare Indirizzo IP statico. Specificare un indirizzo disponibile dalla stessa subnet delle macchine virtuali.
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
Nell'albero del browser fare clic con il pulsante destro del mouse sul cluster e quindi scegliere Aggiungi nodo.
In Aggiunta guidata nodi selezionare Avanti.
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.
Nella pagina Avviso di convalida selezionare No. In uno scenario di produzione è necessario eseguire i test di convalida. Quindi, selezionare Avanti.
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.
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.
Selezionare Avanti.
Selezionare Fine.
Gestione cluster di failover visualizza il cluster con un nuovo nodo elencato nel contenitore Nodi.
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.
Connettersi alla VM del server di controllo della condivisione file usando una sessione Desktop remoto.
In Server Manager, selezionare Strumenti. Aprire Gestione computer.
Selezionare Cartelle condivise.
Fare clic con il pulsante destro del mouse su Condivisioni, quindi selezionare Nuova condivisione.
Usare la Creazione guidata cartella condivisa per creare una condivisione.
Nella pagina Percorso cartella, selezionare Sfoglia. Individuare o creare un percorso per la cartella condivisa, quindi selezionare Avanti.
Nella pagina Nome, descrizione e impostazioni, verificare il nome e il percorso della condivisione. Selezionare Avanti.
Nella pagina Autorizzazioni cartella condivisa, impostare Personalizza autorizzazioni. Seleziona Personalizza.
Nella finestra di dialogo Personalizza autorizzazioni, selezionare Aggiungi.
Verificare che l'account usato per creare il cluster abbia il controllo completo.
Seleziona OK.
Nella pagina Autorizzazioni cartella condivisa, selezionare Fine. Quindi, selezionare di nuovo Fine.
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.
Connettersi per prima cosa al nodo del cluster mediante una sessione Desktop remoto.
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.
In Configurazione guidata quorum del cluster, selezionare Avanti.
Nella pagina Selezione opzione configurazione quorum, scegliere Seleziona il quorum di controllo, quindi selezionare Avanti.
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.
In Configurazione condivisione file di controllo immettere il percorso per la condivisione creata. Quindi seleziona Avanti.
Verificare le impostazioni nella pagina Conferma. Quindi, selezionare Avanti.
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.
Dalla schermata Start aprire Gestione configurazione SQL Server.
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à.
Selezionare la scheda Disponibilità elevata Always On, quindi selezionare Abilita gruppi di disponibilità Always On.
Selezionare Applica. Scegliere OK nella finestra di dialogo popup.
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:
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
Dalla schermata Start di una delle VM di SQL Server, avviare Gestione configurazione SQL Server.
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à.
Selezionare la scheda FILESTREAM, quindi spuntare la casella Abilita FILESTREAM per l'accesso Transact-SQL:
Selezionare Applica. Scegliere OK nella finestra di dialogo popup.
In SQL Server Management Studio selezionare Nuova query per visualizzare l'editor di query.
Nell'editor di query immettere il codice Transact-SQL seguente:
EXEC sp_configure filestream_access_level, 2 RECONFIGURE
Selezionare Esegui.
Riavviare il servizio SQL Server.
Ripetere questi passaggi per l'altra istanza di SQL Server.
Creare un database nella prima istanza di SQL Server
- Aprire il file RDP nella prima VM di SQL Server con un account di dominio che sia membro del ruolo predefinito del server sysadmin.
- Aprire SQL Server Management Studio (SSMS) e connettersi alla prima istanza di SQL Server.
- In Esplora oggetti fare clic con il pulsante destro del mouse su Database, quindi scegliere Nuovo database.
- In Nome database immettere MyDB1, quindi selezionare OK.
Creare una condivisione di backup
Sulla prima VM di SQL Server in Gestione server, selezionare Strumenti. Aprire Gestione computer.
Selezionare Cartelle condivise.
Fare clic con il pulsante destro del mouse su Condivisioni, quindi selezionare Nuova condivisione.
Usare la Creazione guidata cartella condivisa per creare una condivisione.
Nella pagina Percorso cartella, selezionare Sfoglia. Individuare o creare un percorso per la cartella condivisa del backup del database, quindi selezionare Avanti.
Nella pagina Nome, descrizione e impostazioni, verificare il nome e il percorso della condivisione. Quindi seleziona Avanti.
Nella pagina Autorizzazioni cartella condivisa, impostare Personalizza autorizzazioni. Quindi, selezionare Personalizzato.
Nella finestra di dialogo Personalizza autorizzazioni, selezionare Aggiungi.
Spuntare Controllo completo per concedere l'accesso completo alla condivisione dell'account del servizio SQL Server (
Corp\SQLSvc
):Seleziona OK.
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.
In Esplora oggetti, fare clic con il pulsante destro del mouse sul database, indicare Attività, quindi selezionare Backup.
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à
Connettere la VM di SQL Server mediante desktop remoto e aprire SQL Server Management Studio.
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à.
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 seleziona Avanti.
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.
Nella pagina Specifica repliche, selezionare Aggiungi replica.
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.
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 .
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. Seleziona 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 conNO 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.Nella pagina Convalida selezionare Avanti. La pagina dovrebbe essere simile all'immagine seguente:
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.
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.
Fare clic su Chiudi per chiudere la procedura guidata.
Controllare il gruppo di disponibilità
In Esplora oggetti, espandere Disponibilità elevata Always On, quindi espandere i 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.
L'aspetto del dashboard del gruppo di disponibilità dovrebbe essere simile a quello illustrato nello screenshot seguente:
Il dashboard mostra le repliche, la modalità di failover di ogni replica e lo stato di sincronizzazione.
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.
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.
Nel portale di Azure, passare al gruppo di risorse che contiene le istanze delle VM di SQL Server e selezionare + Aggiungi.
Cercare servizio di bilanciamento del carico. Scegliere il servizio di bilanciamento del carico pubblicato da Microsoft.
Seleziona Crea.
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:
Selezionare Avanti: Configurazione IP front-end.
Selezionare + Aggiungi una configurazione IP front-end.
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:
Selezionare Aggiungi.
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à
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.
Selezionare il sistema di bilanciamento del carico, selezionare Pool back-end e quindi + Aggiungi.
In Nome, specificare un nome per il pool back-end.
Per Configurazione pool back-end, selezionare NIC.
Selezionare Aggiungi per associare il pool back-end con il set di disponibilità contenente le VM.
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.
Selezionare Aggiungi per aggiungere le VM al pool back-end.
Selezionare Salva per creare il pool back-end.
Impostare il probe
Nel portale di Azure, selezionare il Load Balancer, selezionare Probe integrità, quindi + Aggiungi.
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 Selezionare Aggiungi.
Impostare le regole di bilanciamento del carico
Nel portale di Azure, selezionare il servizio di bilanciamento del carico, selezionare le regole di bilanciamento del carico, quindi + Aggiungi.
Impostare le regole di bilanciamento del carico del listener come segue:
Impostazione Descrizione Esempio Nome Testo SQLAlwaysOnEndPointListener Indirizzo IP front-end 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.
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.
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.
Nel servizio di bilanciamento del carico selezionare Probe integrità, quindi + Aggiungi.
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 Scegliere Aggiungi per impostare il probe di integrità.
Selezionare Regole di bilanciamento del carico, quindi + Aggiungi.
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 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.
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à:
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:Aggiungere il punto di accesso client. Il punto di accesso client è il nome della rete che le applicazioni useranno per connettersi ai database in un 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.
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.
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.
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.
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.
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).
d. Seleziona OK.
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à.
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. Quindi, seleziona OK.
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.
Impostare i parametri del cluster in PowerShell:
a. Copiare il seguente script di PowerShell 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 del rete di cluster e il nome della risorsa IP del cluster sono inoltre diversi per ciascuna area.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:
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.
Fare clic con il pulsante destro del mouse su Indirizzo IP e scegliere Proprietà.
Copiare il nome dell'indirizzo IP da Nome. Potrebbe essere Indirizzo IP del cluster.
Impostare i parametri del cluster in PowerShell:
a. Copiare il seguente script di PowerShell 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:
Aprire SQL Server Management Studio e connettersi alla replica primaria.
Passare a Disponibilità elevata Always On>Gruppi di disponibilità>Listener gruppo di disponibilità.
Fare clic con il pulsante destro del mouse sul nome del listener creato in Gestione cluster di failover, quindi selezionare Proprietà.
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:
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.
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.
Contenuto correlato
- Aggiungere un indirizzo IP a un Load Balances per un secondo gruppo di disponibilità
- Configurare il failover automatico o manuale
- Cluster di failover di Windows Server con SQL Server
- Gruppi di disponibilità Always On in SQL Server su VM di Azure
- Panoramica di Gruppi di disponibilità AlwaysOn
- Impostazioni HADR per SQL Server su VM di Azure