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.
Applica a:SQL Server
Prima di poter creare e configurare un gruppo di disponibilità Always On, è necessario abilitare la funzionalità Always On gruppi di disponibilità 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à Always On gruppi di disponibilità in ogni istanza di SQL Server che ospitava 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 gruppi di disponibilità con scalabilità di lettura, la funzionalità del gruppo di disponibilità può essere abilitata anche se l'istanza di SQL Server non risiede in un cluster di failover di Windows Server.
L'istanza del server deve eseguire una versione di SQL Server che supporta i gruppi di disponibilità Always On. Per altre informazioni, vedere Editions e le 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 Prerequisites, restrizioni e raccomandazioni 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 Active Directory Creare oggetti e Gestire oggetti.
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.
Usare SQL Server Management Studio
In SQL Server Management Studio (SSMS), in Object Explorer fare clic con il pulsante destro del mouse sull'istanza del server e selezionare 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 IsHadrEnabled indica se un'istanza 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
Modificare la directory (
cd) in un'istanza del server in cui si desidera determinare se i gruppi di disponibilità Always On 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 cmdlet
Get-Helpnell'ambiente SQL Server PowerShell. Per altre informazioni, vedere Get Help SQL Server PowerShell.
Per configurare e usare il provider di PowerShell SQL Server, vedere SQL Server Provider PowerShell.
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à.
Nel menu Start scegliere Tutti i programmi, scegliere Microsoft SQL Server, scegliere Strumenti di configurazione e selezionare SQL Server Configuration Manager.
In SQL Server Configuration Manager selezionare SQL Server Services, fare clic con il pulsante destro del mouse su SQL Server (<nome 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 Always On gruppi di disponibilità. Il computer locale non è un nodo del cluster, il cluster WSFC è spento o questa edizione di SQL Server non supporta i gruppi di disponibilità Always On.
Selezionare la casella di controllo Enable Always On Availability Groups e selezionare OK.
SQL Server Configuration Manager 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 di SQL Server viene riavviato, i gruppi di disponibilità sono abilitati e la proprietà del server
IsHadrEnabledè 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 cmdlet
Get-Helpnell'ambiente SQL Server PowerShell. Per altre informazioni, vedere Get Help SQL Server PowerShell.Nota
Per informazioni su come controllare se il cmdlet
Enable-SqlAlwaysOnriavvia il servizio SQL Server, vedere Quando un cmdlet riavvia il servizio SQL Server? più avanti in questo articolo.
Per configurare e usare il provider di PowerShell SQL Server, vedere SQL Server Provider PowerShell.
Esempio: Enable-SqlAlwaysOn
Il comando di PowerShell seguente abilita i gruppi di disponibilità Always On 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 SQL Server Configuration Manager 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à Always On, attendere il riavvio del servizio di SQL Server prima di passare ad 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 maggiori informazioni, vedere Eseguire un failover manuale pianificato di un gruppo di disponibilità (SQL Server).
Rimuovere tutte le repliche secondarie locali. Per ulteriori informazioni, vedere Rimuovere una replica secondaria da un Availability Group (SQL Server).
Disabilitare con 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à.
Nel menu Start scegliere Tutti i programmi, scegliere Microsoft SQL Server, scegliere Strumenti di configurazione e selezionare SQL Server Configuration Manager.
In SQL Server Configuration Manager selezionare SQL Server Services, fare clic con il pulsante destro del mouse su SQL Server (<nome 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 Always On High Availability deselezionare la casella di controllo Abilita Always On Availability Groups e selezionare OK.
SQL Server Configuration Manager salva la modifica 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 server è impostata su
0, per 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 (Computer\Instance). 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
Disable-SqlAlwaysOnriavvia il servizio 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 cmdlet
Get-Helpnell'ambiente SQL Server PowerShell. Per altre informazioni, vedere Get Help SQL Server PowerShell.
Per configurare e usare il provider di PowerShell SQL Server, vedere SQL Server Provider PowerShell.
Seguire dopo la disabilitazione dei gruppi di disponibilità
Dopo avere disabilitato i gruppi di disponibilità Always On, riavviate l'istanza di SQL Server. SQL 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 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 di Always On dei gruppi di disponibilità in WSFC non sono influenzati 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 Rimuovi 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, l'uso di Enable-SqlAlwaysOn o Disable-SqlAlwaysOn per modificare l'impostazione corrente del gruppo di disponibilità può causare il riavvio del 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.