Abilitare o disabilitare la funzionalità dei gruppi di disponibilità Always On
Si applica a: SQL Server
L'abilitazione dei gruppi di disponibilità Always On è un prerequisito per consentire a un'istanza del server di usare i gruppi di disponibilità. Prima di poter creare e configurare un qualsiasi gruppo di disponibilità, la funzionalità dei gruppi di disponibilità Always On deve essere stata abilitata in ogni istanza di SQL Server in cui sarà ospitata una replica di disponibilità per uno o più gruppi di disponibilità.
Importante
Se si elimina e si ricrea un cluster WSFC, è necessario disabilitare e riabilitare la funzionalità dei gruppi di disponibilità Always On in ogni istanza di SQL Server in cui è ospitata una replica di disponibilità nel cluster WSFC originale.
Prerequisiti
Prima di SQL Server 2017 e Windows Server 2016, l'istanza doveva risiedere in un nodo WSFC (Windows Server Failover Cluster) per abilitare la funzionalità dei gruppi di disponibilità Always On. Per supportare i gruppi di disponibilità in lettura, a partire da SQL Server 2017 e Windows Server 2016, è possibile abilitare la funzionalità dei gruppi di disponibilità anche se l'istanza di SQL Server non si trova in un nodo WSFC.
Nell'istanza del server deve essere in esecuzione un'edizione di SQL Server che supporta i gruppi di disponibilità Always On. Per altre informazioni, vedere Funzionalità supportate dalle edizioni di SQL Server 2016.
Abilitare Gruppi di disponibilità Always On in una sola istanza del server per volta. Dopo aver abilitato Gruppi di disponibilità Always On, attendere il riavvio del servizio SQL Server prima di continuare con un'altra istanza del server.
Per informazioni sui prerequisiti aggiuntivi, vederePrerequisiti, restrizioni e consigli per i gruppi di disponibilità Always On (SQL Server).
Autorizzazioni
Mentre la funzionalità Gruppi di disponibilità Always On è abilitata in un'istanza di SQL Server, l'istanza del server ha il controllo completo sul cluster WSFC.
È richiesta l'appartenenza al gruppo degli amministratori nel computer locale, nonché il controllo totale nel cluster WSCF. Quando si abilita Always On usando PowerShell, aprire la finestra del prompt dei comandi con l'opzione Esegui come amministratore .
Richiede le autorizzazioni per la gestione e la creazione degli oggetti di Active Directory.
Determinare se la funzionalità è abilitata
Utilizzo di SQL Server Management Studio
Per determinare se la funzionalità Gruppi di disponibilità Always On è abilitata
In Esplora oggetti fare clic con il pulsante destro del mouse sull'istanza del server e scegliere Proprietà.
Nella finestra di dialogo Proprietà server scegliere la pagina Generale . Per la proprietà Is HADR Enabled è visualizzato uno dei valori seguenti:
True, se la funzionalità Gruppi di disponibilità Always On è abilitata.
False, se la funzionalità Gruppi di disponibilità Always On è disabilitata.
Utilizzo di Transact-SQL
Per determinare se la funzionalità Gruppi di disponibilità Always On è abilitata
Utilizzare l'istruzione SERVERPROPERTY seguente:
SELECT SERVERPROPERTY ('IsHadrEnabled');
L'impostazione della proprietà del server IsHadrEnabled indica se un'istanza di SQL Server è abilitata per Gruppi di disponibilità Always On, come indicato di seguito:
Se IsHadrEnabled = 1, la funzionalità Gruppi di disponibilità Always On è abilitata.
Se IsHadrEnabled = 0, la funzionalità Gruppi di disponibilità Always On è disabilitata.
Nota
Per altre informazioni sulla proprietà del server IsHadrEnabled, vedere SERVERPROPERTY (Transact-SQL).
Con PowerShell
Per determinare se la funzionalità Gruppi di disponibilità Always On è abilitata
Impostare il valore predefinito (cd) sull'istanza del server in cui determinare se la funzionalità dei gruppi di disponibilità Always On è abilitata.
Immettere il comando di PowerShell Get-Item seguente:
PS SQLSERVER:\SQL\NODE1\DEFAULT> get-item . | select IsHadrEnabled
Nota
Per visualizzare la sintassi di un cmdlet, usare il cmdlet Get-Help nell'ambiente SQL Server PowerShell. Per altre informazioni, vedere Get Help SQL Server PowerShell.
Per impostare e utilizzare il provider PowerShell per SQL Server
Abilitare la funzionalità
Per abilitare Always On usando:
Utilizzo di Gestione configurazione SQL Server
Per abilitare i gruppi di disponibilità AlwaysOn
Connettersi al nodo WSCF (Windows Server Failover Cluster) in cui è ospitata l'istanza di SQL Server in cui si vuole abilitare Gruppi di disponibilità Always On.
Fare clic sul menu Start, scegliere Tutti i programmi, Microsoft SQL Server, Strumenti di configurazionee quindi fare clic su Gestione configurazione SQL Server.
In Gestione configurazione SQL Server fare clic su Servizi di SQL Server, fare clic con il pulsante destro del mouse su SQL Server (<nome istanza>), dove <nome istanza> è il nome di un'istanza del server locale per cui si vuole abilitare Gruppi di disponibilità Always On e quindi scegliere Proprietà.
Selezionare la scheda Disponibilità elevata Always On.
Verificare che nel campo Nome cluster di failover Windows sia incluso il nome del cluster di failover locale. Se il campo è vuoto, questa istanza del server non supporta attualmente i gruppi di disponibilità Always On. Il computer locale non è un nodo del cluster, il cluster WSFC è stato chiuso, oppure si tratta di un'edizione di SQL Server che non supporta i gruppi di disponibilità Always On.
Selezionare la casella di controllo Abilita gruppi di disponibilità Always On e scegliere OK.
Gestione configurazione SQL Server salva la modifica. È quindi necessario riavviare manualmente il servizio SQL Server. In questo modo è possibile scegliere un'ora per il riavvio che meglio soddisfa le esigenze aziendali. Al riavvio del servizio SQL Server, Always On sarà abilitato e la proprietà del server IsHadrEnabled sarà impostata su 1.
Utilizzo di SQL Server PowerShell
Per abilitare Always On
Spostarsi nella directory (cd) dell'istanza del server che si vuole abilitare per Gruppi di disponibilità Always On.
Per abilitare Gruppi di disponibilità AlwaysOn, usare il cmdlet Enable-SqlAlwaysOn.
Per visualizzare la sintassi di un cmdlet, usare il cmdlet Get-Help nell'ambiente SQL Server PowerShell. Per altre informazioni, vedere Get Help SQL Server PowerShell.
Nota
Per informazioni su come controllare se il cmdlet Enable-SqlAlwaysOn riavvia il servizio SQL Server, vedere Situazioni in cui un cmdlet comporta il riavvio del servizio SQL Server, più avanti in questo argomento.
Per impostare e utilizzare il provider PowerShell per SQL Server
Esempio: Enable-SqlAlwaysOn
Il comando PowerShell seguente abilita la funzionalità Gruppi di disponibilità Always On in un'istanza di SQL Server (Computer\Istanza).
Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance
Disabilitare la funzionalità
Prima di disabilitare Always On:
Per disabilitare Always On usando:
Completamento: Dopo la disabilitazione di Always On
Importante
Disabilitare Always On in una sola istanza del server per volta. Dopo aver disabilitato Gruppi di disponibilità Always On, attendere il riavvio del servizio SQL Server prima di continuare con un'altra istanza del server.
Consigli
Prima di disabilitare Always On su un'istanza del server, è consigliabile eseguire queste operazioni:
Se l'istanza del server sta attualmente ospitando la replica primaria di un gruppo di disponibilità che si desidera tenere, si consiglia di eseguire manualmente un failover sul gruppo di disponibilità a una replica secondaria sincronizzata, se possibile. Per altre informazioni, vedere Eseguire un failover manuale pianificato di un gruppo di disponibilità (SQL Server).
Rimuovere tutte le repliche secondarie locali. Per altre informazioni, vedere Rimuovere una replica secondaria da un gruppo di disponibilità (SQL Server).
Utilizzo di Gestione configurazione SQL Server
Per disabilitare Always On
Connettersi al nodo WSCF (Windows Server Failover Cluster) in cui è ospitata l'istanza di SQL Server in cui si vuole disabilitare Gruppi di disponibilità Always On.
Fare clic sul menu Start, scegliere Tutti i programmi, Microsoft SQL Server, Strumenti di configurazionee quindi fare clic su Gestione configurazione SQL Server.
In Gestione configurazione SQL Server fare clic su Servizi di SQL Server, fare clic con il pulsante destro del mouse su SQL Server (<nome istanza>), dove <nome istanza> è il nome di un'istanza locale per cui si vuole disabilitare Gruppi di disponibilità Always On e quindi scegliere Proprietà.
Deselezionare la casella di controlloAbilita gruppi di disponibilità Always On nella scheda Disponibilità elevata Always On e scegliere OK.
Gestione configurazione SQL Server salva le modifiche e riavvia il servizio SQL Server. Al riavvio del servizio SQL Server, Always On sarà disabilitato e la proprietà del server IsHadrEnabled sarà impostata su 0, per indicare che la funzionalità Gruppi di disponibilità Always On è disabilitata.
È consigliabile leggere le informazioni fornite in Completamento: Dopo la disabilitazione di Always On, più avanti in questo argomento.
Utilizzo di SQL Server PowerShell
Per disabilitare Always On
Spostarsi nella directory (cd) dell'istanza del server attualmente abilitata che si vuole disabilitare per Gruppi di disponibilità Always On.
Per disabilitare Gruppi di disponibilità Always On, usare il cmdlet Disable-SqlAlwaysOn.
Ad esempio, il comando seguente disabilita la funzionalità Gruppi di disponibilità Always On in un'istanza di SQL Server (Computer\Istanza). Il comando richiede il riavvio dell'istanza per cui verrà richiesta la conferma all'utente.
Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance
Importante
Per informazioni su come controllare se il cmdlet Disable-SqlAlwaysOn riavvia il servizio SQL Server, vedere Situazioni in cui un cmdlet comporta il riavvio del servizio SQL Server, più avanti in questo argomento.
Per visualizzare la sintassi di un cmdlet, usare il cmdlet Get-Help nell'ambiente SQL Server PowerShell. Per altre informazioni, vedere Get Help SQL Server PowerShell.
Per impostare e utilizzare il provider PowerShell per SQL Server
Completamento: Dopo la disabilitazione di Always On
Dopo avere disabilitato Gruppi di disponibilità Always On, è necessario riavviare l'istanza di SQL Server. Gestione configurazione SQL Server riavvia l'istanza del server automaticamente. Tuttavia, se è stato usato il cmdlet Disable-SqlAlwaysOn , sarà necessario riavviare manualmente l'istanza del server. Per altre informazioni, vedere sqlservr Application.
Nell'istanza del server riavviata:
Poiché i database di disponibilità non vengono avviati insieme a SQL Server, non saranno accessibili.
L'unica istruzione Transact-SQL Always On supportata è DROP AVAILABILITY GROUP. CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP e le opzioni SET HADR di ALTER DATABASE non sono supportate.
I metadati di SQL Server e i dati di configurazione dei gruppi di disponibilità Always On in WSFC non sono interessati dalla disabilitazione di Gruppi di disponibilità Always On.
Se si disabilita in modo permanente Gruppi di disponibilità Always On su ogni istanza del server che ospita una replica di disponibilità per uno o più gruppi di disponibilità, si consiglia di completare i passaggi seguenti:
Se le repliche di disponibilità locali non sono state rimosse prima di disabilitare Always On, eliminare ogni gruppo di disponibilità per il quale l'istanza del server ospita una replica di disponibilità. Per informazioni sull'eliminazione di un gruppo di disponibilità, vedere Rimuovere un gruppo di disponibilità (SQL Server).
Per rimuovere i metadati rimanenti, eliminare ogni gruppo di disponibilità interessato su un'istanza del server che fa parte del WSFC originale.
Tutti i database primari continuano a essere accessibili a tutte le connessioni, ma la sincronizzazione dei dati tra i database primario e secondario viene arrestata.
Per i database secondari viene impostato lo stato RESTORING. È possibile eliminare i database o ripristinarli tramite RESTORE WITH RECOVERY. Tuttavia, i database ripristinati non fanno più parte della sincronizzazione dei dati del gruppo di disponibilità.
Situazioni in cui un cmdlet comporta il riavvio del servizio SQL Server
In un'istanza del server attualmente in esecuzione, l'uso di Enable-SqlAlwaysOn o Disable-SqlAlwaysOn per modificare l'impostazione Always On corrente può causare il riavvio del servizio SQL Server. Il comportamento del riavvio dipende dalle condizioni seguenti:
Specifica del parametro -NoServiceRestart | Specifica del parametro -Force | Il servizio SQL Server è stato riavviato? |
---|---|---|
No | No | Per impostazione predefinita. Tuttavia dal cmdlet è richiesto quanto segue: Per completare l'azione, è necessario riavviare il servizio SQL Server per l'istanza del server '<nome_istanza>'. Vuoi continuare? [Y] Sì [N] No [S] Sospendi [?] Guida (l'impostazione predefinita è "Y"): Se si specifica N o S, il servizio non viene riavviato. |
No | Sì | Servizio riavviato. |
Sì | No | Servizio non riavviato. |
Sì | Sì | Servizio non riavviato. |
Vedi anche
Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)
SERVERPROPERTY (Transact-SQL)