Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Prima di poter creare e configurare un gruppo di disponibilità AlwaysOn, è necessario abilitare la funzionalità Gruppi di disponibilità AlwaysOn in ogni istanza di SQL Server che ospita una replica 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
In SQL Server 2016 (13.x), l'istanza deve risiedere in un nodo WSFC (Windows Server Failover Cluster) per abilitare la funzionalità del gruppo di disponibilità.
In SQL Server 2017 (14.x) e versioni successive, per supportare i gruppi di disponibilità con scalabilità in lettura, è possibile abilitare la funzionalità del gruppo di disponibilità anche se l'istanza di SQL Server non si trova in un cluster di failover di Windows Server.
L'istanza del server deve eseguire un'edizione di SQL Server che supporta i gruppi di disponibilità AlwaysOn. Per altre informazioni, vedere Edizioni e funzionalità supportate di SQL Server 2025.
Abilitare i gruppi di disponibilità in una sola istanza del server alla volta. Dopo aver abilitato i gruppi di disponibilità, attendere il riavvio del servizio SQL Server prima di passare a un'altra istanza del server.
Per altre informazioni, vedere Prerequisiti, restrizioni e consigli per i gruppi di disponibilità Always On (SQL Server).
Autorizzazioni
Quando si abilitano i gruppi di disponibilità in un'istanza di SQL Server, l'istanza del server ha il controllo completo sul cluster WSFC.
È necessario essere un membro del gruppo Administrator nel computer locale e avere il controllo completo sul cluster WSFC. Quando si abilitano i gruppi di disponibilità con PowerShell, aprire la finestra del prompt dei comandi usando l'opzione Esegui come amministratore .
Sono necessarie le autorizzazioni Di Creazione oggetti e Gestione oggetti di Active Directory.
Determinare se la funzionalità è abilitata
È possibile usare SQL Server Management Studio (SSMS), Transact-SQL o PowerShell per verificare se la funzionalità dei gruppi di disponibilità è abilitata.
Uso di SQL Server Management Studio
In SQL Server Management Studio (SSMS), in Esplora oggetti fare clic con il pulsante destro del mouse sull'istanza del server e scegliere Proprietà.
Nella finestra di dialogo Proprietà server selezionare la pagina Generale . Per la proprietà Is HADR Enabled è visualizzato uno dei valori seguenti:
- True, se i gruppi di disponibilità sono abilitati
- False, se i gruppi di disponibilità sono disabilitati.
Usare Transact-SQL
Utilizzare l'istruzione SERVERPROPERTY seguente:
SELECT SERVERPROPERTY('IsHadrEnabled');
L'impostazione della proprietà server indica se un'istanza IsHadrEnabled di SQL Server è abilitata per i gruppi di disponibilità, come indicato di seguito:
-
IsHadrEnabledè1, se i gruppi di disponibilità sono abilitati. -
IsHadrEnabledè0, se i gruppi di disponibilità sono disabilitati.
Nota
Per altre informazioni sulla proprietà del IsHadrEnabled server, vedere SERVERPROPERTY.
Utilizzare PowerShell
Passare alla directory (
cd) a un'istanza del server in cui si desidera determinare se i gruppi di disponibilità AlwaysOn sono abilitati.Immettere il comando di PowerShell
Get-Itemseguente alSQLSERVER:\SQL\NODE1\DEFAULTprompt:Get-Item . | Select-Object IsHadrEnabledNota
Per visualizzare la sintassi di un cmdlet, usare il
Get-Helpcmdlet nell'ambiente PowerShell di SQL Server. Per altre informazioni, vedere Get Help SQL Server PowerShell.
Per configurare e usare il provider PowerShell di SQL Server, vedere Provider PowerShell di SQL Server.
Abilitare la funzionalità
È possibile abilitare la funzionalità dei gruppi di disponibilità usando SQL Server Management Studio (SSMS) o PowerShell.
Abilitare con SQL Server Management Studio
Connettersi al nodo WSFC (Windows Server Failover Cluster) che ospita l'istanza di SQL Server in cui si desidera abilitare i gruppi di disponibilità.
Scegliere Tutti i programmi dal menu Start, Scegliere Microsoft SQL Server, Strumenti di configurazione e Gestione configurazione SQL Server.
In Gestione configurazione SQL Server, selezionare Servizi SQL Server, fare clic con il pulsante destro del mouse su SQL Server (<nome dell'istanza>). Il <nome> dell'istanza è il nome di un'istanza del server locale per cui si desidera abilitare i gruppi di disponibilità. Selezionare Proprietà.
Selezionare la scheda Always On High Availability.
Verificare che il campo Nome cluster di failover di Windows contenga il nome del cluster di failover locale. Se questo campo è vuoto, l'istanza del server attualmente non supporta i gruppi di disponibilità AlwaysOn. Il computer locale non è un nodo del cluster, il cluster WSFC viene arrestato o questa edizione di SQL Server non supporta i gruppi di disponibilità AlwaysOn.
Selezionare la casella di controllo Abilita gruppi di disponibilità AlwaysOn e selezionare OK.
Gestione configurazione SQL Server salva la modifica. È quindi necessario riavviare manualmente il servizio SQL Server. Questo passaggio consente di scegliere un'ora di riavvio più adatta ai requisiti aziendali. Quando il servizio SQL Server viene riavviato, i gruppi di disponibilità sono abilitati e la
IsHadrEnabledproprietà server è impostata su1.
Eseguire l'abilitazione con PowerShell
Cambia directory (
cd) all'istanza del server desiderata in cui si desidera abilitare i gruppi di disponibilità.Usare il cmdlet Enable-SqlAlwaysOn per abilitare i gruppi di disponibilità.
Per visualizzare la sintassi di un cmdlet, usare il
Get-Helpcmdlet nell'ambiente PowerShell di SQL Server. Per altre informazioni, vedere Get Help SQL Server PowerShell.Nota
Per informazioni su come controllare se il cmdlet riavvia il
Enable-SqlAlwaysOnservizio SQL Server, vedere Quando un cmdlet riavvia il servizio SQL Server?, più avanti in questo articolo.
Per configurare e usare il provider PowerShell di SQL Server, vedere Provider PowerShell di SQL Server.
Esempio: Enable-SqlAlwaysOn
Il comando di PowerShell seguente abilita i gruppi di disponibilità AlwaysOn in un'istanza di SQL Server (<computer>\<Instance>).
Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance
Disabilitare la funzionalità
Usare le sezioni seguenti per disabilitare la funzionalità dei gruppi di disponibilità usando Gestione configurazione SQL Server o PowerShell. Dopo aver completato l'operazione di disabilitazione, è possibile eseguire tutte le attività di completamento necessarie.
Importante
Disabilitare la funzionalità dei gruppi di disponibilità in una sola istanza del server alla volta. Dopo aver disabilitato i gruppi di disponibilità AlwaysOn, attendere il riavvio del servizio SQL Server prima di passare a un'altra istanza del server.
Consigli
Prima di disabilitare la funzionalità dei gruppi di disponibilità in un'istanza del server, completare la procedura seguente:
Se l'istanza del server ospita attualmente la replica primaria di un gruppo di disponibilità da mantenere, eseguire manualmente il failover del gruppo di disponibilità in 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).
Disabilitare tramite SQL Server Configuration Manager
Connettersi al nodo WSFC (Windows Server Failover Cluster) che ospita l'istanza di SQL Server in cui si desidera disabilitare i gruppi di disponibilità.
Scegliere Tutti i programmi dal menu Start, Scegliere Microsoft SQL Server, Strumenti di configurazione e Gestione configurazione SQL Server.
In Gestione configurazione SQL Server, selezionare Servizi SQL Server, fare clic con il pulsante destro del mouse su SQL Server (<nome dell'istanza>). Il < dell'istanza> è il nome di un'istanza del server locale per cui si desidera disabilitare i gruppi di disponibilità. Selezionare Proprietà.
Nella scheda Disponibilità elevata Always On deselezionare la casella di controllo Abilita gruppi di disponibilità AlwaysOn e selezionare OK.
Gestione configurazione SQL Server salva le modifiche e riavvia il servizio SQL Server. Quando il servizio SQL Server viene riavviato, i gruppi di disponibilità sono disabilitati e la proprietà del server IsHadrEnabled è impostata su
0per indicare che la funzionalità è disabilitata.Leggere le informazioni in Completamento più avanti in questo articolo.
Disabilitare con PowerShell
Cambia la directory (
cd) a un'istanza del server attualmente abilitata in cui si desidera disattivare i gruppi di disponibilità.Usare il
Disable-SqlAlwaysOncmdlet per disabilitare i gruppi di disponibilità.Ad esempio, il comando seguente disabilita i gruppi di disponibilità in un'istanza di SQL Server (Istanza\). Questo comando richiede il riavvio dell'istanza e viene richiesto di confermare il riavvio.
Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\InstanceImportante
Per informazioni su come controllare se il cmdlet riavvia il
Disable-SqlAlwaysOnservizio SQL Server, vedere Quando un cmdlet riavvia il servizio SQL Server?, più avanti in questo articolo.Per visualizzare la sintassi di un cmdlet, usare il
Get-Helpcmdlet nell'ambiente PowerShell di SQL Server. Per altre informazioni, vedere Get Help SQL Server PowerShell.
Per configurare e usare il provider PowerShell di SQL Server, vedere Provider PowerShell di SQL Server.
Seguire dopo la disabilitazione dei gruppi di disponibilità
Dopo aver disabilitato i gruppi di disponibilità AlwaysOn, riavviare l'istanza di SQL Server. SQL Server Configuration Manager riavvia automaticamente l'istanza del server. Tuttavia, se si usa il Disable-SqlAlwaysOn cmdlet , è necessario riavviare manualmente l'istanza del server. Per altre informazioni, vedere sqlservr Application.
Nell'istanza del server riavviata:
I database di disponibilità non vengono avviati all'avvio di SQL Server, rendendoli inaccessibili.
L'unica istruzione Transact-SQL per il gruppo di disponibilità supportata è DROP AVAILABILITY GROUP.
CREATE AVAILABILITY GROUP,ALTER AVAILABILITY GROUPe leSET HADRopzioni diALTER DATABASEnon sono supportate.I metadati di SQL Server e i dati di configurazione dei gruppi di disponibilità AlwaysOn in WSFC non sono interessati dalla disabilitazione dei gruppi di disponibilità.
Se si disabilitano in modo permanente i gruppi di disponibilità in ogni istanza del server che ospita una replica di disponibilità per uno o più gruppi di disponibilità, completare la procedura seguente:
Se non sono state rimosse le repliche di disponibilità locali prima di disabilitare i gruppi di disponibilità, eliminare (eliminare) ogni gruppo di disponibilità per cui 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, rimuovere (escludere) ogni gruppo di disponibilità interessato in un'istanza del server che fa parte del cluster 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.
I database secondari entrano nello stato RESTORING. È possibile eliminarli oppure ripristinarli usando
RESTORE WITH RECOVERY. Tuttavia, i database ripristinati non fanno più parte della sincronizzazione dei dati del gruppo di disponibilità.
Quando un cmdlet riavvia il servizio SQL Server?
In un'istanza del server attualmente in esecuzione, utilizzando Enable-SqlAlwaysOn o Disable-SqlAlwaysOn per modificare l'impostazione corrente del gruppo di disponibilità, è possibile riavviare il servizio SQL Server. Il comportamento di riavvio dipende dalle condizioni seguenti:
-NoServiceRestart parametro specificato |
-Force parametro specificato |
Servizio SQL Server riavviato |
|---|---|---|
| No | No | Per impostazione predefinita. Vedere Se vengono specificati entrambi i parametri. |
| No | Sì | Servizio riavviato. |
| Sì | No | Il servizio non viene riavviato. |
| Sì | Sì | Il servizio non viene riavviato. |
Se vengono specificati entrambi i parametri
Se si specificano entrambi i parametri -NoServiceRestart e -Force, il cmdlet richiede quanto segue (il valore predefinito è Y):
To complete this action, we must restart the SQL Server service for server instance '<instance_name>'. Do you want to continue?
[Y] Yes [N] No [S] Suspend [?] Help
Se si specifica N o S, il servizio non viene riavviato.