Abilitare e disabilitare la funzionalità Gruppi di disponibilità Always On (SQL Server)Enable and Disable Always On Availability Groups (SQL Server)

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)noDatabase SQL di AzurenoAzure SQL Data WarehousenoParallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

L'abilitazione di Gruppi di disponibilità Always OnAlways On availability groups è un prerequisito per l'utilizzo di gruppi di disponibilità in un'istanza del server.Enabling Gruppi di disponibilità Always OnAlways On availability groups is a prerequisite for a server instance to use availability groups. Prima di poter creare e configurare un qualsiasi gruppo di disponibilità, la funzionalità Gruppi di disponibilità Always OnAlways On availability groups deve essere stata abilitata in ogni istanza di SQL ServerSQL Server in cui sarà ospitata una replica di disponibilità per uno o più gruppi di disponibilità.Before you can create and configure any availability group, the Gruppi di disponibilità Always OnAlways On availability groups feature must have been enabled on the each instance of SQL ServerSQL Server that will host an availability replica for one or more availability groups.

Importante

Se si elimina e si ricrea un cluster WSFC, è necessario disabilitare e riabilitare la funzionalità Gruppi di disponibilità Always OnAlways On availability groups in ogni istanza di SQL ServerSQL Server in cui è ospitata una replica di disponibilità nel cluster WSFC originale.If you delete and re-create a WSFC cluster, you must disable and re-enable the Gruppi di disponibilità Always OnAlways On availability groups feature on each instance of SQL ServerSQL Server that hosted an availability replica on the original WSFC cluster.

Prima di iniziare Before You Begin

Prerequisiti per l'abilitazione di Gruppi di disponibilità Always On Prerequisites for Enabling Always On Availability Groups

Sicurezza Security

Mentre la funzionalità Gruppi di disponibilità Always On è abilitata in un'istanza di SQL ServerSQL Server, l'istanza del server ha il controllo completo sul cluster WSFC.While Always On Availability Groups is enabled on an instance of SQL ServerSQL Server, the server instance has full control on the WSFC cluster.

Autorizzazioni Permissions

È richiesta l'appartenenza al gruppo degli amministratori nel computer locale, nonché il controllo totale nel cluster WSCF.Requires membership in the Administrator group on the local computer and full control on the WSFC cluster. Quando si abilita Always On usando PowerShell, aprire la finestra del prompt dei comandi con l'opzione Esegui come amministratore .When enabling Always On by using PowerShell, open the Command Prompt window using the Run as administrator option.

Richiede le autorizzazioni per la gestione e la creazione degli oggetti di Active Directory.Requires Active Directory Create Objects and Manage Objects permissions.

Determinare se la funzionalità Gruppi di disponibilità Always On è abilitata Determine Whether Always On Availability Groups is Enabled

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per determinare se la funzionalità Gruppi di disponibilità Always On è abilitataTo determine whether Always On Availability Groups is enabled

  1. In Esplora oggetti fare clic con il pulsante destro del mouse sull'istanza del server e scegliere Proprietà.In Object Explorer, right-click the server instance, and click Properties.

  2. Nella finestra di dialogo Proprietà server scegliere la pagina Generale .In the Server Properties dialog box, click the General page. Per la proprietà Is HADR Enabled è visualizzato uno dei valori seguenti:The Is HADR Enabled property displays one of the following values:

    • True, se la funzionalità Gruppi di disponibilità Always On è abilitata.True, if Always On Availability Groups is enabled

    • False, se la funzionalità Gruppi di disponibilità Always On è disabilitata.False, if Always On Availability Groups is disabled.

Utilizzo di Transact-SQL Using Transact-SQL

Per determinare se la funzionalità Gruppi di disponibilità Always On è abilitataTo determine whether Always On Availability Groups is enabled

  1. Utilizzare l'istruzione SERVERPROPERTY seguente:Use the following SERVERPROPERTY statement:

    SELECT SERVERPROPERTY ('IsHadrEnabled');  
    

    L'impostazione della proprietà del server IsHadrEnabled indica se un'istanza di SQL ServerSQL Server è abilitata per Gruppi di disponibilità Always On, come indicato di seguito:The setting of the IsHadrEnabled server property indicates whether an instance of SQL ServerSQL Server is enabled for Always On Availability Groups, as follows:

    • Se IsHadrEnabled = 1, la funzionalità Gruppi di disponibilità Always On è abilitata.If IsHadrEnabled = 1, Always On Availability Groups is enabled.

    • Se IsHadrEnabled = 0, la funzionalità Gruppi di disponibilità Always On è disabilitata.If IsHadrEnabled = 0, Always On Availability Groups is disabled.

    Nota

    Per altre informazioni sulla proprietà del server IsHadrEnabled , vedere SERVERPROPERTY (Transact-SQL).For more information about the IsHadrEnabled server property, see SERVERPROPERTY (Transact-SQL).

Utilizzo di PowerShell Using PowerShell

Per determinare se la funzionalità Gruppi di disponibilità Always On è abilitataTo determine whether Always On Availability Groups is enabled

  1. Impostare il valore predefinito (cd) sull'istanza del server in cui determinare se la funzionalità Gruppi di disponibilità Always OnAlways On availability groups è abilitata.Set default (cd) to the server instance on which you want to determine whether Gruppi di disponibilità Always OnAlways On availability groups is enabled.

  2. Immettere il comando di PowerShell Get-Item seguente:Enter the following PowerShell Get-Item command:

    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 ServerSQL Server PowerShell.To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Per altre informazioni, vedere Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

    Per impostare e utilizzare il provider PowerShell per SQL ServerTo set up and use the SQL Server PowerShell provider

Abilitare Gruppi di disponibilità Always On Enable Always On Availability Groups

Per abilitare Always On usando:To enable Always On, using:

Utilizzo di Gestione configurazione SQL Server Using SQL Server Configuration Manager

Per abilitare Gruppi di disponibilità Always OnTo enable Always On Availability Groups

  1. Connettersi al nodo WSCF (Windows Server Failover Clustering) in cui è ospitata l'istanza di SQL ServerSQL Server nella quale si vuole abilitare Gruppi di disponibilità Always On.Connect to the Windows Server Failover Clustering (WSFC) node that hosts the SQL ServerSQL Server instance where you want to enable Always On Availability Groups.

  2. Nel menu Start scegliere Tutti i programmi, Microsoft SQL Server 2017Microsoft SQL Server 2017, Strumenti di configurazione, quindi fare clic su Gestione configurazione SQL Server.On the Start menu, point to All Programs, point to Microsoft SQL Server 2017Microsoft SQL Server 2017, point to Configuration Tools, and click SQL Server Configuration Manager.

  3. 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 abilitare Gruppi di disponibilità Always On, quindi scegliere Proprietà.In SQL Server Configuration Manager, click SQL Server Services, right-click SQL Server (<instance name>), where <instance name> is the name of a local server instance for which you want to enable Always On Availability Groups, and click Properties.

  4. Selezionare la scheda Disponibilità elevata Always On.Select the Always On High Availability tab.

  5. Verificare che nel campo Nome cluster di failover Windows sia incluso il nome del cluster di failover locale.Verify that Windows failover cluster name field contains the name of the local failover cluster. Se il campo è vuoto, questa istanza del server non supporta attualmente Gruppi di disponibilità Always OnAlways On availability groups.If this field is blank, this server instance currently does not support Gruppi di disponibilità Always OnAlways On availability groups. Il computer locale non è un nodo del cluster, il cluster WSFC è stato chiuso, oppure si tratta di un'edizione di SQL Server 2017SQL Server 2017 che non supporta Gruppi di disponibilità Always OnAlways On availability groups.Either the local computer is not a cluster node, the WSFC cluster has been shut down, or this edition of SQL Server 2017SQL Server 2017 that does not support Gruppi di disponibilità Always OnAlways On availability groups.

  6. Selezionare la casella di controllo Abilita gruppi di disponibilità Always On e scegliere OK.Select the Enable Always On Availability Groups check box, and click OK.

    SQL ServerSQL Server . Configuration Manager saves your change. Successivamente, è necessario riavviare manualmente il servizio SQL ServerSQL Server .Then, you must manually restart the SQL ServerSQL Server service. In questo modo è possibile scegliere un'ora per il riavvio che meglio soddisfa le esigenze aziendali.This enables you to choose a restart time that is best for your business requirements. Al riavvio del servizio SQL ServerSQL Server , Always On sarà abilitato e la proprietà del server IsHadrEnabled sarà impostata su 1.When the SQL ServerSQL Server service restarts, Always On will be enabled, and the IsHadrEnabled server property will be set to 1.

Utilizzo di SQL Server PowerShell Using SQL Server PowerShell

Per abilitare Always OnTo enable Always On

  1. Spostarsi nella directory (cd) dell'istanza del server che si vuole abilitare per Gruppi di disponibilità Always On.Change directory (cd) to a server instance that you want to enable for Always On Availability Groups.

  2. Per abilitare Gruppi di disponibilità AlwaysOn, usare il cmdlet Enable-SqlAlwaysOn.Use the Enable-SqlAlwaysOn cmdlet to enable Always On Availability Groups.

    Per visualizzare la sintassi di un cmdlet, usare il cmdlet Get-Help nell'ambiente SQL ServerSQL Server PowerShell.To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Per altre informazioni, vedere Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

    Nota

    Per informazioni su come controllare se il cmdlet Enable-SqlAlwaysOn riavvia il servizio SQL ServerSQL Server, vedere Situazioni in cui un cmdlet comporta il riavvio del servizio SQL Server, più avanti in questo argomento.For information about how to control whether the Enable-SqlAlwaysOn cmdlet restarts the SQL ServerSQL Server service, see When Does a Cmdlet Restart the SQL Server Service?, later in this topic.

    Per impostare e utilizzare il provider PowerShell per SQL ServerTo set up and use the SQL Server PowerShell provider

Esempio: Enable-SqlAlwaysOn Example: Enable-SqlAlwaysOn

Il comando di PowerShell seguente abilita Gruppi di disponibilità Always OnAlways On availability groups in un'istanza di SQL Server (Computer\Istanza).The following PowerShell command enables Gruppi di disponibilità Always OnAlways On availability groups on an instance of SQL Server (Computer\Instance).

Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  

Disabilitare Gruppi di disponibilità Always On Disable Always On Availability Groups

Importante

Disabilitare Always On in una sola istanza del server per volta.Disable Always On on only one server instance at a time. Dopo aver disabilitato Gruppi di disponibilità Always On, attendere il riavvio del servizio SQL ServerSQL Server prima di continuare con un'altra istanza del server.After disabling Always On Availability Groups, wait until the SQL ServerSQL Server service has restarted before you proceed to another server instance.

Indicazioni Recommendations

Prima di disabilitare Always On su un'istanza del server, è consigliabile eseguire queste operazioni:Before you disable Always On on a server instance, we recommend that you do the following:

  1. 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.If the server instance is currently hosting the primary replica of an availability group that you want to keep, we recommend that you manually fail over the availability group to a synchronized secondary replica, if possible. Per altre informazioni, vedere Eseguire un failover manuale pianificato di un gruppo di disponibilità (SQL Server).For more information, see Perform a Planned Manual Failover of an Availability Group (SQL Server).

  2. Rimuovere tutte le repliche secondarie locali.Remove all local secondary replicas. Per altre informazioni, vedere Rimuovere una replica secondaria da un gruppo di disponibilità (SQL Server).For more information, see Remove a Secondary Replica from an Availability Group (SQL Server).

Utilizzo di Gestione configurazione SQL Server Using SQL Server Configuration Manager

Per disabilitare Always OnTo disable Always On

  1. Connettersi al nodo WSCF (Windows Server Failover Clustering) nel quale è ospitata l'istanza di SQL ServerSQL Server in cui si vuole disabilitare Gruppi di disponibilità Always On.Connect to the Windows Server Failover Clustering (WSFC) node that hosts the SQL ServerSQL Server instance where you want to disable Always On Availability Groups.

  2. Nel menu Start scegliere Tutti i programmi, Microsoft SQL Server 2017Microsoft SQL Server 2017, Strumenti di configurazione, quindi fare clic su Gestione configurazione SQL Server.On the Start menu, point to All Programs, point to Microsoft SQL Server 2017Microsoft SQL Server 2017, point to Configuration Tools, and click SQL Server Configuration Manager.

  3. 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, quindi scegliere Proprietà.In SQL Server Configuration Manager, click SQL Server Services, right-click SQL Server (<instance name>), where <instance name> is the name of a local server instance for which you want to disable Always On Availability Groups, and click Properties.

  4. Deselezionare la casella di controlloAbilita gruppi di disponibilità Always Onnella scheda Disponibilità elevata Always On e scegliere OK.On theAlways On High Availabilitytab, deselect the Enable Always On Availability Groups check box, and click OK.

    SQL ServerSQL Server è possibile salvare la modifica e riavviare il servizio SQL ServerSQL Server . Configuration Manager saves your change and restarts the SQL ServerSQL Server service. Al riavvio del servizio SQL ServerSQL 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.When the SQL ServerSQL Server service restarts, Always On will be disabled, and the IsHadrEnabled server property will be set to 0, to indicate that Always On Availability Groups is disabled.

  5. È consigliabile leggere le informazioni fornite in Completamento: Dopo la disabilitazione di Always On, più avanti in questo argomento.We recommend that you read the information in Follow Up: After Disabling Always On, later in this topic.

Utilizzo di SQL Server PowerShell Using SQL Server PowerShell

Per disabilitare Always OnTo disable Always On

  1. Spostarsi nella directory (cd) dell'istanza del server attualmente abilitata che si vuole disabilitare per Gruppi di disponibilità Always On.Change directory (cd) to a currently-enabled server instance that that you want to disenable for Always On Availability Groups.

  2. Per disabilitare Gruppi di disponibilità Always On, usare il cmdlet Disable-SqlAlwaysOn.Use the Disable-SqlAlwaysOn cmdlet to enable Always On Availability Groups.

    Ad esempio, il comando seguente disabilita la funzionalità Gruppi di disponibilità Always On in un'istanza di SQL Server (Computer\Istanza).For example, the following command disables Always On Availability Groups on an instance of SQL Server (Computer\Instance). Il comando richiede il riavvio dell'istanza per cui verrà richiesta la conferma all'utente.This command requires restarting the instance, and you will be prompted to confirm this restart.

    Disable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance  
    

    Importante

    Per informazioni su come controllare se il cmdlet Disable-SqlAlwaysOn riavvia il servizio SQL ServerSQL Server, vedere Situazioni in cui un cmdlet comporta il riavvio del servizio SQL Server, più avanti in questo argomento.For information about how to control whether the Disable-SqlAlwaysOn cmdlet restarts the SQL ServerSQL Server service, see When Does a Cmdlet Restart the SQL Server Service?, later in this topic.

    Per visualizzare la sintassi di un cmdlet, usare il cmdlet Get-Help nell'ambiente SQL ServerSQL Server PowerShell.To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server PowerShell environment. Per altre informazioni, vedere Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

    Per impostare e utilizzare il provider PowerShell per SQL ServerTo set up and use the SQL Server PowerShell provider

Completamento: Dopo la disabilitazione di Always On Follow Up: After Disabling Always On

Dopo avere disabilitato Gruppi di disponibilità Always On, è necessario riavviare l'istanza di SQL ServerSQL Server .After you disable Always On Availability Groups, the instance of SQL ServerSQL Server must be restarted. Gestione configurazione SQL Server riavvia l'istanza del server automaticamente.SQL Configuration Manager restarts the server instance automatically. Tuttavia, se è stato usato il cmdlet Disable-SqlAlwaysOn , sarà necessario riavviare manualmente l'istanza del server.However, if you used the Disable-SqlAlwaysOn cmdlet, you will need to restart the server instance manually. Per altre informazioni, vedere sqlservr Application.For more information, see sqlservr Application.

Nell'istanza del server riavviata:On the restarted server instance:

  • Poiché i database di disponibilità non vengono avviati insieme a SQL Server, non saranno accessibili.Availability databases do not start up at SQL Server startup, making them inaccessible.

  • L'unica istruzione Always On Transact-SQLTransact-SQL supportata è DROP AVAILABILITY GROUP.The only supported Always On Transact-SQLTransact-SQL statement is DROP AVAILABILITY GROUP. CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP e le opzioni SET HADR di ALTER DATABASE non sono supportate.CREATE AVAILABILITY GROUP, ALTER AVAILABILITY GROUP, and the SET HADR options of ALTER DATABASE are not supported.

  • SQL ServerSQL Server I metadati e i dati di configurazione di Gruppi di disponibilità Always OnAlways On availability groups in WSFC non sono interessati dalla disabilitazione di Gruppi di disponibilità Always On. metadata and Gruppi di disponibilità Always OnAlways On availability groups configuration data in WSFC are unaffected by disabling Always On Availability Groups.

    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:If you permanently disable Always On Availability Groups on every server instance that hosts an availability replica for one or more availability groups, we recommend that you complete the following steps:

  1. 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à.If you did not remove the local availability replicas before disabling Always On, delete (drop) each availability group for which the server instance is hosting an availability replica. Per informazioni sull'eliminazione di un gruppo di disponibilità, vedere Rimuovere un gruppo di disponibilità (SQL Server).For information about deleting an availability group, see Remove an Availability Group (SQL Server).

  2. Per rimuovere i metadati rimanenti, eliminare ogni gruppo di disponibilità interessato su un'istanza del server che fa parte del cluster WSFC originale.To remove the metadata left behind, delete (drop) each affected availability group on a server instance that is part of the original WSFC cluster.

  3. 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.Any primary databases continue to be accessible to all connections but the data synchronization between the primary and secondary databases stops.

  4. Per i database secondari viene impostato lo stato RESTORING.The secondary databases enter the RESTORING state. È possibile eliminare i database o ripristinarli tramite RESTORE WITH RECOVERY.You can delete them, or you can restore them by using RESTORE WITH RECOVERY. Tuttavia, i database ripristinati non fanno più parte della sincronizzazione dei dati del gruppo di disponibilità.However, restored databases are no longer participating in availability-group data synchronization.

Situazioni in cui un cmdlet comporta il riavvio del servizio SQL Server When Does a Cmdlet Restart the SQL Server Service?

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.On a server instance that is currently running, using Enable-SqlAlwaysOn or Disable-SqlAlwaysOn to change the current Always On setting could cause the SQL Server service to restart. Il comportamento del riavvio dipende dalle condizioni seguenti:The restart behavior on depends on the following conditions:

Specifica del parametro -NoServiceRestart-NoServiceRestart parameter specified Specifica del parametro -Force-Force parameter specified Riavvio del servizio SQL ServerSQL ServerIs the SQL ServerSQL Server service restarted?
NoNo NoNo Per impostazione predefinita.By default. Tuttavia dal cmdlet è richiesto quanto segue:But the cmdlet prompts you as follows:

Per completare l'azione, è necessario riavviare il servizio SQL Server per l'istanza del server '<nome_istanza>'. Continuare?To complete this action, we must restart the SQL Server service for server instance '<instance_name>'. Do you want to continue?

[Y] Sì [N] No [S] Sospendi [?] Guida (l'impostazione predefinita è "Y"):[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):

Se si specifica N o S, il servizio non viene riavviato.If you specify N or S, the service is not restarted.
NoNo Yes Servizio riavviato.Service is restarted.
Yes NoNo Servizio non riavviato.Service is not restarted.
Yes Yes Servizio non riavviato.Service is not restarted.

Vedere ancheSee Also

Panoramica di Gruppi di disponibilità Always On (SQL Server) Overview of Always On Availability Groups (SQL Server)
SERVERPROPERTY (Transact-SQL)SERVERPROPERTY (Transact-SQL)