Panoramica di Gruppi di disponibilità AlwaysOn (SQL Server)Overview of 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

Per i contenuti relativi a versioni precedenti di SQL Server, vedere Panoramica di gruppi di disponibilità AlwaysOn (SQL Server).For content related to previous versions of SQL Server, see Overview of AlwaysOn Availability Groups (SQL Server).

In questo argomento sono introdotti i concetti di Gruppi di disponibilità Always OnAlways On availability groups fondamentali per la configurazione e la gestione di uno o più gruppi di disponibilità in SQL Server 2017SQL Server 2017.This topic introduces the Gruppi di disponibilità Always OnAlways On availability groups concepts that are central for configuring and managing one or more availability groups in SQL Server 2017SQL Server 2017. Per un riepilogo dei vantaggi offerti dai gruppi di disponibilità e per una panoramica della terminologia relativa a Gruppi di disponibilità Always OnAlways On availability groups, vedere Gruppi di disponibilità AlwaysOn (SQL Server).For a summary of the benefits offered by availability groups and an overview of Gruppi di disponibilità Always OnAlways On availability groups terminology, see Always On Availability Groups (SQL Server).

Un gruppo di disponibilità supporta un ambiente di replica per un set discreto di database utente, noti come database di disponibilità.An availability group supports a replicated environment for a discrete set of user databases, known as availability databases. È possibile creare un gruppo di disponibilità per la disponibilità elevata (HA) o per la scalabilità in lettura.You can create an availability group for high availability (HA) or for read-scale. Un gruppo di disponibilità elevata è un set di database il cui failover viene eseguito contemporaneamente.An HA availability group is a group of databases that fail over together. Un gruppo di disponibilità a scalabilità in lettura è un set di database che vengono copiati in altre istanze di SQL Server per il carico di lavoro di sola lettura.A read-scale availability group is a group of databases that are copied to other instances of SQL Server for read-only workload. Un gruppo di disponibilità supporta un set di database primari e da uno a otto set di database secondari corrispondenti.An availability group supports one set of primary databases and one to eight sets of corresponding secondary databases. I database secondari non sono backup.Secondary databases are not backups. Continuare a eseguire il backup dei database e dei log delle transazioni regolarmente.Continue to back up your databases and their transaction logs on a regular basis.

Suggerimento

È possibile creare qualsiasi tipo di backup di un database primario.You can create any type of backup of a primary database. In alternativa, è possibile creare backup del log e backup completi di sola copia dei database secondari.Alternatively, you can create log backups and copy-only full backups of secondary databases. Per altre informazioni, vedere Repliche secondarie attive: Backup in repliche secondarie (Gruppi di disponibilità AlwaysOn).For more information, see Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups).

Ogni set di database di disponibilità è ospitato da una replica di disponibilità.Each set of availability database is hosted by an availability replica. Sono disponibili due tipi di replica di disponibilità: una replica primariaTwo types of availability replicas exist: a single primary replica. in cui sono ospitati i database primari e da una a otto repliche secondarie, ognuna ospitante un set di database secondari, che sono usate come destinazione del failover potenziale per il gruppo di disponibilità.which hosts the primary databases, and one to eight secondary replicas, each of which hosts a set of secondary databases and serves as a potential failover targets for the availability group. Per un gruppo di disponibilità il failover si verifica al livello di una replica di disponibilità.An availability group fails over at the level of an availability replica. Una replica di disponibilità fornisce la ridondanza solo a livello di database, per il set di database in un gruppo di disponibilità.An availability replica provides redundancy only at the database level—for the set of databases in one availability group. I failover non sono dovuti a database ritenuti sospetti in seguito a una perdita di un file di dati o al danneggiamento di un log delle transazioni.Failovers are not caused by database issues such as a database becoming suspect due to a loss of a data file or corruption of a transaction log.

La replica primaria rende disponibili i database primari per le connessioni in lettura e scrittura dei clientThe primary replica makes the primary databases available for read-write connections from clients. La replica primaria invia i record di log delle transazioni di ogni database primario a ogni database secondario.The primary replica sends transaction log records of each primary database to every secondary database. Questo processo, noto come sincronizzazione dei dati, si verifica a livello di database.This process - known as data synchronization - occurs at the database level. Ogni replica secondaria memorizza nella cache i record del log delle transazioni (finalizza il log), quindi li applica al database secondario corrispondente.Every secondary replica caches the transaction log records (hardens the log) and then applies them to its corresponding secondary database. La sincronizzazione dei dati si verifica tra il database primario e ogni database secondario collegato, indipendentemente dagli altri database.Data synchronization occurs between the primary database and each connected secondary database, independently of the other databases. Pertanto, un database secondario può essere sospeso o non riuscire senza influire su altri database secondari e un database primario può essere sospeso o non riuscire senza influire su altri database primari.Therefore, a secondary database can be suspended or fail without affecting other secondary databases, and a primary database can be suspended or fail without affecting other primary databases.

Facoltativamente, è possibile configurare una o più repliche secondarie per supportare l'accesso in sola lettura ai database secondari e una qualsiasi replica secondaria per consentire l'esecuzione di backup sui database secondari.Optionally, you can configure one or more secondary replicas to support read-only access to secondary databases, and you can configure any secondary replica to permit backups on secondary databases.

SQL Server 2017 introduce due architetture diverse per i gruppi di disponibilità.SQL Server 2017 introduces two different architectures for availability groups. I gruppi di disponibilità Always On offrono disponibilità elevata, ripristino di emergenza e bilanciamento della scalabilità in lettura.Always On availability groups provide high availability, disaster recovery, and read-scale balancing. Questi gruppi di disponibilità richiedono una gestione del cluster.These availability groups require a cluster manager. In Windows, il clustering di failover fornisce la gestione del cluster.In Windows, failover clustering provides the cluster manager. In Linux è possibile utilizzare Pacemaker.In Linux, you can use Pacemaker. L'altra architettura è data dai gruppi di disponibilità con scalabilità in lettura.The other architecture is a read-scale availability group. Un gruppo di disponibilità con scalabilità in lettura fornisce repliche per i carichi di lavoro di sola lettura, ma non un'elevata disponibilità.A read scale availability group provides replicas for read-only workloads but not high availability. In un gruppo di disponibilità con scalabilità in lettura non è presente la gestione del cluster.In a read-scale availability group there is no cluster manager.

La distribuzione dei Gruppi di disponibilità Always OnAlways On availability groups per la disponibilità elevata in Windows richiede un cluster WSCF (Windows Server Failover Clustering).Deploying Gruppi di disponibilità Always OnAlways On availability groups for HA on Windows requires a Windows Server Failover Cluster(WSFC). Ogni replica di disponibilità di un determinato gruppo di disponibilità deve risiedere su un nodo diverso dello stesso cluster WSFC.Each availability replica of a given availability group must reside on a different node of the same WSFC. L'unica eccezione è che quando viene eseguita la migrazione a un altro cluster WSFC, un gruppo di disponibilità può risiedere temporaneamente in due cluster.The only exception is that while being migrated to another WSFC cluster, an availability group can temporarily straddle two clusters.

Nota

Per informazioni sui gruppi di disponibilità in Linux, vedere Gruppo di disponibilità Always On per SQL Server in Linux.For information about availability groups on Linux, see Always On availability group for SQL Server on Linux .

In una configurazione a disponibilità elevata, un ruolo cluster viene creato per ogni gruppo di disponibilità che viene creato.In an HA configuration, a cluster role is created for every availability group that you create. Con il cluster WSFC è possibile eseguire il monitoraggio del ruolo per valutare lo stato di integrità della replica primaria.The WSFC cluster monitors this role to evaluate the health of the primary replica. Il quorum di Gruppi di disponibilità Always OnAlways On availability groups si basa su tutti i nodi del cluster WSFC, indipendentemente dal fatto che un nodo del cluster ospiti una replica di disponibilità.The quorum for Gruppi di disponibilità Always OnAlways On availability groups is based on all nodes in the WSFC cluster regardless of whether a given cluster node hosts any availability replicas. A differenza del mirroring del database, non esiste alcun ruolo del server di controllo in Gruppi di disponibilità Always OnAlways On availability groups.In contrast to database mirroring, there is no witness role in Gruppi di disponibilità Always OnAlways On availability groups.

Nota

Per informazioni sulla relazione dei componenti di SQL Server AlwaysOn con il cluster WSFC, vedere WSFC (Windows Server Failover Clustering) con SQL Server.For information about the relationship of SQL Server Always On components to the WSFC cluster, see Windows Server Failover Clustering (WSFC) with SQL Server.

Di seguito viene illustrato un gruppo di disponibilità contenente una replica primaria e quattro repliche secondarie.The following illustration shows an availability group that contains one primary replica and four secondary replicas. Sono supportate fino a otto repliche secondarie, incluse una replica primaria e due repliche secondarie con commit sincrono.Up to eight secondary replicas are supported, including one primary replica and two synchronous-commit secondary replicas.

Gruppo di disponibilità con 5 replicheAvailabilty group with five replicas

Availability Databases Availability Databases

Per poter essere aggiunto a un gruppo di disponibilità, il database deve essere online, di lettura e scrittura ed esistere sull'istanza del server che ospita la replica primaria.To add a database to an availability group, the database must be an online, read-write database that exists on the server instance that hosts the primary replica. Il database viene aggiunto al gruppo di disponibilità come database primario, pur rimanendo disponibile ai client.When you add a database, it joins the availability group as a primary database, while remaining available to clients. Non esiste alcun database secondario corrispondente finché i backup del nuovo database primario non sono ripristinati sull'istanza del server che ospita la replica secondaria (tramite RESTORE WITH NORECOVERY).No corresponding secondary database exists until backups of the new primary database are restored to the server instance that hosts the secondary replica (using RESTORE WITH NORECOVERY). Il nuovo database secondario rimane nello stato RESTORING finché non ne viene creato un join al gruppo di disponibilità.The new secondary database is in the RESTORING state until it is joined to the availability group. Per altre informazioni, vedere Avviare lo spostamento dati su un database secondario AlwaysOn (SQL Server).For more information, see Start Data Movement on an Always On Secondary Database (SQL Server).

Dopo la creazione di un join, il database secondario passa allo stato ONLINE e avvia la sincronizzazione dati con il database primario corrispondente.Joining places the secondary database into the ONLINE state and initiates data synchronization with the corresponding primary database. Lasincronizzazione dati è il processo tramite cui le modifiche apportate a un database primario sono riprodotte in un database secondario.Data synchronization is the process by which changes to a primary database are reproduced on a secondary database. La sincronizzazione dei dati comporta che il database primario invia i record del log delle transazioni al database secondario.Data synchronization involves the primary database sending transaction log records to the secondary database.

Importante

Un database di disponibilità viene a volte definito replica di database in Transact-SQLTransact-SQL, PowerShell e nei nomi di oggetti SMO (SQL Server Management Objects).An availability database is sometimes called a database replica in Transact-SQLTransact-SQL, PowerShell, and SQL Server Management Objects (SMO) names. Il termine "database replica" (replica di database) viene usato ad esempio nei nomi delle DMV AlwaysOn che restituiscono informazioni sui database di disponibilità: sys.dm_hadr_database_replica_states e sys.dm_hadr_database_replica_cluster_states.For example, the term "database replica" is used in the names of the Always On dynamic management views that return information about availability databases: sys.dm_hadr_database_replica_states and sys.dm_hadr_database_replica_cluster_states. Tuttavia, nella documentazione online di SQL Server il termine "replica" si riferisce solitamente alle repliche di disponibilità.However, in SQL Server Books Online, the term "replica" typically refers to availability replicas. Ad esempio, "replica primaria" e "replica secondaria" si riferiscono sempre a repliche di disponibilità.For example, "primary replica" and "secondary replica" always refer to availability replicas.

Repliche di disponibilità Availability Replicas

Ogni gruppo di disponibilità definisce un set di due o più partner di failover noti come repliche di disponibilità.Each availability group defines a set of two or more failover partners known as availability replicas. Lerepliche di disponibilità sono componenti del gruppo di disponibilità.Availability replicas are components of the availability group. Ogni replica di disponibilità ospita una copia dei database di disponibilità del gruppo di disponibilità.Each availability replica hosts a copy of the availability databases in the availability group. Per un determinato gruppo di disponibilità, le repliche di disponibilità devono essere ospitate da istanze separate di SQL ServerSQL Server che risiedono in nodi diversi di un cluster WSFC.For a given availability group, the availability replicas must be hosted by separate instances of SQL ServerSQL Server residing on different nodes of a WSFC cluster. Ognuna di queste istanze del server deve essere abilitata per AlwaysOn.Each of these server instances must be enabled for Always On.

In una determinata istanza può essere ospitata solo una replica di disponibilità per gruppo di disponibilità.A given instance can host only one availability replica per availability group. Tuttavia, ogni istanza può essere usata per numerosi gruppi di disponibilità.However, each instance can be used for many availability groups. Un'istanza specificata può essere un'istanza autonoma o un'istanza del cluster di failover di SQL ServerSQL Server .A given instance can be either a stand-alone instance or a SQL ServerSQL Server failover cluster instance (FCI). Se è necessaria la ridondanza a livello di server, usare le istanze del cluster di failover.If you require server-level redundancy, use Failover Cluster Instances.

A ogni replica di disponibilità viene assegnato un ruolo iniziale, vale a dire il ruolo primario o il ruolo secondario, ereditato dai database di disponibilità della replica in questione.Every availability replica is assigned an initial role—either the primary role or the secondary role, which is inherited by the availability databases of that replica. È il ruolo a determinare se la replica a cui è stato assegnato ospiterà database di lettura e scrittura o database di sola lettura.The role of a given replica determines whether it hosts read-write databases or read-only databases. La replica primaria, a cui viene assegnato il ruolo primario, ospiterà i database di lettura e scrittura, noti come database primari.One replica, known as the primary replica, is assigned the primary role and hosts read-write databases, which are known as primary databases. Ad almeno un'altra replica, nota come replica secondariaviene assegnato il ruolo secondario.At least one other replica, known as a secondary replica, is assigned the secondary role. Una replica secondaria ospita i database di sola lettura, noti come database secondari.A secondary replica hosts read-only databases, known as secondary databases.

Nota

Quando il ruolo di una replica di disponibilità è indeterminato, ad esempio durante un failover, i relativi database si trovano temporaneamente nello stato NOT SYNCHRONIZING.When the role of an availability replica is indeterminate, such as during a failover, its databases are temporarily in a NOT SYNCHRONIZING state. Il loro ruolo rimane impostato su RESOLVING finché il ruolo della replica di disponibilità non viene risolto.Their role is set to RESOLVING until the role of the availability replica has resolved. Se una replica di disponibilità viene risolta nel ruolo primario, i relativi database diventano i database primari.If an availability replica resolves to the primary role, its databases become the primary databases. Se una replica di disponibilità viene risolta nel ruolo secondario, i relativi database diventano i database secondari.If an availability replica resolves to the secondary role, its databases become secondary databases.

Modalità di disponibilità Availability Modes

La modalità di disponibilità è una proprietà di ogni replica di disponibilità.The availability mode is a property of each availability replica. La modalità di disponibilità determina se la replica primaria eseguirà il commit delle transazioni su un database solo dopo che una determinata replica secondaria avrà scritto su disco i record del log delle transazioni (consolidamento del log).The availability mode determines whether the primary replica waits to commit transactions on a database until a given secondary replica has written the transaction log records to disk (hardened the log). Gruppi di disponibilità Always OnAlways On availability groups supportano due modalità di disponibilità:modalità commit asincrono e modalità commit sincrono. supports two availability modes—asynchronous-commit mode and synchronous-commit mode.

  • Asynchronous-commit modeAsynchronous-commit mode

    Una replica di disponibilità che usa questa modalità di disponibilità è nota comereplica con commit asincrono.An availability replica that uses this availability mode is known as anasynchronous-commit replica. Nella modalità commit asincrono, la replica primaria esegue il commit delle transazioni senza attendere l'acknowledgement della finalizzazione del log da parte di una replica con commit asincrono.Under asynchronous-commit mode, the primary replica commits transactions without waiting for acknowledgement that an asynchronous-commit secondary replica has hardened the log. La modalità commit asincrono riduce la latenza delle transazioni sui database secondari, ma consente un certo ritardo rispetto ai database primari, rendendo possibile la perdita di dati.Asynchronous-commit mode minimizes transaction latency on the secondary databases but allows them to lag behind the primary databases, making some data loss possible.

  • Synchronous-commit modeSynchronous-commit mode

    Una replica di disponibilità che usa questa modalità di disponibilità è nota come replica con commit sincrono.An availability replica that uses this availability mode is known as a synchronous-commit replica. Nella modalità commit sincrono, prima di eseguire il commit delle transazioni, una replica primaria con commit sincrono attende l'acknowledgement della finalizzazione del log da parte della replica secondaria con commit sincrono.Under synchronous-commit mode, before committing transactions, a synchronous-commit primary replica waits for a synchronous-commit secondary replica to acknowledge that it has finished hardening the log. Nella modalità commit sincrono si può essere sicuri che al termine della sincronizzazione di un determinato database secondario con il database primario, le transazioni di cui è stato eseguito il commit sono completamente protette.Synchronous-commit mode ensures that once a given secondary database is synchronized with the primary database, committed transactions are fully protected. Questa protezione comporta un aumento della latenza delle transazioni.This protection comes at the cost of increased transaction latency.

    Per altre informazioni, vedere Modalità di disponibilità (gruppi di disponibilità AlwaysOn).For more information, see Availability Modes (Always On Availability Groups).

Tipi di failover Types of Failover

Nel contesto di una sessione tra la replica primaria e una replica secondaria, i ruoli primari e secondari sono potenzialmente intercambiabili in un processo noto come failover.Within the context of a session between the primary replica and a secondary replica, the primary and secondary roles are potentially interchangeable in a process known as failover. Durante un failover la replica secondaria di destinazione assume il ruolo primario, diventando la nuova replica primaria.During a failover the target secondary replica transitions to the primary role, becoming the new primary replica. La nuova replica primaria porta i relativi database online come database primari, consentendo alle applicazioni client di connettersi ad essi.The new primary replica brings its databases online as the primary databases, and client applications can connect to them. Se la replica primaria precedente è disponibile, assume il ruolo secondario, diventando una replica secondaria.When the former primary replica is available, it transitions to the secondary role, becoming a secondary replica. I database primari precedenti diventano database secondari e la sincronizzazione dati viene ripresa.The former primary databases become secondary databases and data synchronization resumes.

Sono disponibili tre tipi di failover: automatico, manuale e forzato (con possibile perdita di dati).Three forms of failover exist—automatic, manual, and forced (with possible data loss). La forma o le forme di failover supportate da una determinata replica secondaria dipendono dalla relativa modalità di disponibilità e, per la modalità commit sincrono, dalla modalità di failover sulla replica primaria e sulla replica secondaria di destinazione.The form or forms of failover supported by a given secondary replica depends on its availability mode, and, for synchronous-commit mode, on the failover mode on the primary replica and target secondary replica, as follows.

  • La modalità commit sincrono supporta due forme di failover:failover manuale pianificato e failover automatico, se la replica secondaria di destinazione è sincronizzata con avt1.Synchronous-commit mode supports two forms of failover—planned manual failover and automatic failover, if the target secondary replica is currently synchronized with the avt1. Il supporto per queste forme di failover dipende dall'impostazione della proprietà della modalità di failover sui partner di failover.The support for these forms of failover depends on the setting of the failover mode property on the failover partners. Se la modalità di failover è impostata su "manuale" sulla replica primaria o su quella secondaria, per la replica secondaria è supportato solo il failover manuale.If failover mode is set to "manual" on either the primary or secondary replica, only manual failover is supported for that secondary replica. Se la modalità di failover è impostata su "automatico" sia sulla replica primaria sia sulle repliche secondarie, sulla replica secondaria sono supportate entrambe le forme di failover, manuale e automatico.If failover mode is set to "automatic" on both the primary and secondary replicas, both automatic and manual failover are supported on that secondary replica.

    • Failover manuale pianificato (senza perdita di dati)Planned manual failover (without data loss)

      Si verifica un failover manuale quando un amministratore di database esegue un comando di failover causando il passaggio di una replica secondaria sincronizzata al ruolo primario (con protezione dei dati garantita) e della replica primaria al ruolo secondario.A manual failover occurs after a database administrator issues a failover command and causes a synchronized secondary replica to transition to the primary role (with guaranteed data protection) and the primary replica to transition to the secondary role. Un failover manuale richiede che sia la replica primaria sia la replica secondaria di destinazione siano eseguite nella modalità commit sincrono e che la replica secondaria sia già sincronizzata.A manual failover requires that both the primary replica and the target secondary replica are running under synchronous-commit mode, and the secondary replica must already be synchronized.

    • Failover automatico (senza perdita di dati)Automatic failover (without data loss)

      Un failover automatico si verifica in risposta a un errore che causa il passaggio di una replica secondaria sincronizzata al ruolo primario (con protezione dei dati garantita).An automatic failover occurs in response to a failure that causes a synchronized secondary replica to transition to the primary role (with guaranteed data protection). Quando la replica primaria precedente diventa disponibile, assume il ruolo secondario.When the former primary replica becomes available, it transitions to the secondary role. Il failover automatico richiede che sia la replica primaria sia la replica secondaria di destinazione siano eseguite nella modalità commit sincrono con la modalità di failover impostata su "Automatico".Automatic failover requires that both the primary replica and the target secondary replica are running under synchronous-commit mode with the failover mode set to "Automatic". Inoltre, la replica secondaria deve essere già sincronizzata, deve disporre del quorum WSFC e deve soddisfare le condizioni specificate dai criteri di failover flessibilidel gruppo di disponibilità.In addition, the secondary replica must already be synchronized, have WSFC quorum, and meet the conditions specified by the flexible failover policyof the availability group.

      Importante

      Le istanze del cluster di failover di SQL Server non supportano il failover automatico da gruppi di disponibilità, pertanto le replica di disponibilità ospitate da un'istanza del cluster di failover possono essere configurate solo per il failover manuale.SQL Server Failover Cluster Instances (FCIs) do not support automatic failover by availability groups, so any availability replica that is hosted by an FCI can only be configured for manual failover.

    Nota

    Se si esegue un comando di failover forzato su una replica secondaria sincronizzata, la replica secondaria si comporta come con un failover manuale pianificato.Note that if you issue a forced failover command on a synchronized secondary replica, the secondary replica behaves the same as for a planned manual failover.

  • Nella modalità commit asincrono, l'unica forma di failover supportata è il failover manuale forzato (con possibile perdita di dati), in genere denominato failover forzato.Under asynchronous-commit mode, the only form of failover is forced manual failover (with possible data loss), typically called forced failover. Il failover forzato è considerato una forma di failover manuale, in quanto può essere avviato solo manualmente.Forced failover is considered a form of manual failover because it can only be initiated manually. Il failover forzato rappresenta un'opzione di ripristino di emergenza.Forced failover is a disaster recovery option. Si tratta dell'unica forma di failover possibile quando la replica secondaria di destinazione non è sincronizzata con la replica primaria.It is the only form of failover that is possible when the target secondary replica is not synchronized with the primary replica.

    Per altre informazioni, vedere Failover e modalità di failover (gruppi di disponibilità AlwaysOn).For more information, see Failover and Failover Modes (Always On Availability Groups).

Connessioni client Client Connections

È possibile fornire la connettività client alla replica primaria di un determinato gruppo di disponibilità creando un listener del gruppo di disponibilità.You can provide client connectivity to the primary replica of a given availability group by creating an availability group listener. Un listener del gruppo di disponibilità fornisce un set di risorse collegate a un determinato gruppo di disponibilità per l'indirizzamento delle connessioni client alla replica di disponibilità appropriata.An availability group listener provides a set of resources that is attached to a given availability group to direct client connections to the appropriate availability replica.

Un listener del gruppo di disponibilità è associato a un nome DNS univoco che funge da nome di rete virtuale (VNN), a uno o più indirizzi IP virtuali (VIP) e a un numero di porta TCP.An availability group listener is associated with a unique DNS name that serves as a virtual network name (VNN), one or more virtual IP addresses (VIPs), and a TCP port number. Per altre informazioni, vedere Listener del gruppo di disponibilità, connettività client e failover dell'applicazione (SQL Server).For more information, see Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server).

Suggerimento

Se un gruppo di disponibilità dispone unicamente di due repliche di disponibilità e non è configurato per consentire l'accesso in lettura alla replica secondaria, i client possono connettersi alla replica primaria tramite una stringa di connessione per il mirroring del database.If an availability group possesses only two availability replicas and is not configured to allow read-access to the secondary replica, clients can connect to the primary replica by using a database mirroring connection string. Questo approccio può essere utile temporaneamente dopo la migrazione di un database dal mirroring del database ai Gruppi di disponibilità Always OnAlways On availability groups.This approach can be useful temporarily after you migrate a database from database mirroring to Gruppi di disponibilità Always OnAlways On availability groups. Prima di aggiungere ulteriori repliche di disponibilità, è necessario creare un listener del gruppo di disponibilità e aggiornare le applicazioni affinché utilizzino il nome di rete del listener.Before you add additional secondary replicas, you will need to create an availability group listener the availability group and update your applications to use the network name of the listener.

Repliche secondarie attive Active Secondary Replicas

Gruppi di disponibilità Always OnAlways On availability groups supporta le repliche secondarie attive. supports active secondary replicas. Le funzionalità delle repliche secondarie attive includono il supporto per:Active secondary capabilities include support for:

  • Esecuzione di operazioni di backup sulle repliche secondariePerforming backup operations on secondary replicas

    Le repliche secondarie supportano l'esecuzione di backup del log e backup di sola copia di un database completo, di file o di un filegroup.The secondary replicas support performing log backups and copy-only backups of a full database, file, or filegroup. È possibile configurare il gruppo di disponibilità per specificare una preferenza per la destinazione dei backup.You can configure the availability group to specify a preference for where backups should be performed. È importante comprendere che la preferenza non viene applicata da SQL Server, pertanto non incide sui backup ad hoc.It is important to understand that the preference is not enforced by SQL Server, so it has no impact on ad-hoc backups. L'interpretazione di questa preferenza dipende dalla logica, se presente, di cui viene generato lo script nei processi di backup per ogni database di un determinato gruppo di disponibilità.The interpretation of this preference depends on the logic, if any, that you script into your back jobs for each of the databases in a given availability group. Per una replica di disponibilità singola, è possibile specificare la priorità di esecuzione dei backup in questa replica rispetto alle altre repliche dello stesso gruppo di disponibilità.For an individual availability replica, you can specify your priority for performing backups on this replica relative to the other replicas in the same availability group. Per altre informazioni, vedere Repliche secondarie attive: Backup in repliche secondarie (Gruppi di disponibilità AlwaysOn).For more information, see Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups).

  • Accesso in sola lettura a una o più repliche secondarie (repliche secondarie leggibili)Read-only access to one or more secondary replicas (readable secondary replicas)

    Una replica di disponibilità può essere configurata in modo da consentire l'accesso in sola lettura ai relativi database locali quando svolge il ruolo secondario, sebbene alcune operazioni non siano pienamente supportate.Any availability replica can be configured to allow read-only access to its local databases when performing the secondary role, though some operations are not fully supported. Se inoltre si desidera impedire l'esecuzione dei carichi di lavoro in sola lettura sulla replica primaria, è possibile configurare le repliche in modo da consentire l'accesso in lettura/scrittura solo quando l'esecuzione avviene nel ruolo primario.Also, if you would like to prevent read-only workloads from running on the primary replica, you can configure the replicas to allow only read-write access when running under the primary role. Per altre informazioni, vedere Repliche secondarie attive: Repliche secondarie leggibili (Gruppi di disponibilità AlwaysOn).For more information, see Active Secondaries: Readable Secondary Replicas (Always On Availability Groups).

    Se un listener del gruppo di disponibilità e una o più repliche secondarie leggibili vengono elaborate da un gruppo di disponibilità, tramite SQL ServerSQL Server è possibile instradare le richieste di connessione con finalità di lettura a una di tali repliche (routing di sola lettura).If an availability group currently possesses an availability group listener and one or more readable secondary replicas, SQL ServerSQL Server can route read-intent connection requests to one of them (read-only routing). Per altre informazioni, vedere Listener del gruppo di disponibilità, connettività client e failover dell'applicazione (SQL Server).For more information, see Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server).

Periodo di timeout della sessione Session-Timeout Period

Il periodo di timeout della sessione è una proprietà della replica di disponibilità che determina quanto tempo la connessione con un'altra replica di disponibilità può rimanere inattiva prima che la connessione venga chiusa.The session-timeout period is an availability-replica property that determines how long connection with another availability replica can remain inactive before the connection is closed. Le repliche primarie e secondarie effettuano vicendevolmente il ping per segnalare che ancora sono attive.The primary and secondary replicas ping each other to signal that they are still active. La ricezione di un ping dall'altra replica durante il periodo di timeout indica che la connessione è ancora aperta e che le istanze del server sono in comunicazione.Receiving a ping from the other replica during the timeout period indicates that the connection is still open and that the server instances are communicating. Alla ricezione di un ping, la replica di disponibilità reimposta il contatore del timeout della sessione per quella connessione.On receiving a ping, an availability replica resets its session-timeout counter on that connection.

Il periodo di timeout della sessione impedisce alla replica di attendere indefinitamente la ricezione di un ping dall'altra replica.The session-timeout period prevents either replica from waiting indefinitely to receive a ping from the other replica. Se non viene ricevuto alcun ping dall'altra replica entro il periodo di timeout della sessione, si verifica il timeout della replica.If no ping is received from the other replica within the session-timeout period, the replica times out. La connessione viene chiusa e per la replica scaduta viene impostato lo stato DISCONNECTED.Its connection is closed, and the timed-out replica enters the DISCONNECTED state. Anche se la replica disconnessa è configurata per la modalità con commit sincrono, le transazioni non attenderanno che quella replica venga riconnessa e risincronizzata.Even if a disconnected replica is configured for synchronous-commit mode, transactions will not wait for that replica to reconnect and resynchronize.

Il periodo di timeout della sessione predefinito per ogni replica di disponibilità è di 10 secondi.The default session-timeout period for each availability replica is 10 seconds. Questo valore è configurabile dall'utente (minimo 5 secondi).This value is user-configurable, with a minimum of 5 seconds. È consigliabile usare generalmente un periodo di timeout di almeno 10 secondi.Generally, we recommend that you keep the time-out period at 10 seconds or greater. Con un valore inferiore a 10 secondi, può verificarsi un sovraccarico del sistema, con generazione di falsi errori.Setting the value to less than 10 seconds creates the possibility of a heavily loaded system declaring a false failure.

Nota

Nel ruolo di risoluzione, il periodo di timeout della sessione non si applica perché il ping non viene eseguito.In the resolving role, the session-timeout period does not apply because pinging does not occur.

Correzione di pagina automatica Automatic Page Repair

Ogni replica di disponibilità tenta di recuperare automaticamente delle pagine danneggiate su un database locale risolvendo determinati tipi di errore che impediscono la lettura di una pagina di dati.Each availability replica tries to automatically recover from corrupted pages on a local database by resolving certain types of errors that prevent reading a data page. Se una replica secondaria non legge una pagina, la replica richiede alla replica primaria una copia aggiornata della pagina.If a secondary replica cannot read a page, the replica requests a fresh copy of the page from the primary replica. Se la replica primaria non legge una pagina, la replica trasmette una richiesta per una copia aggiornata a tutte le repliche secondarie e ottiene la pagina dalla prima replica secondaria che risponderà.If the primary replica cannot read a page, the replica broadcasts a request for a fresh copy to all the secondary replicas and gets the page from the first to respond. Se la richiesta viene soddisfatta, la pagina illeggibile viene sostituita dalla copia e l'errore viene risolto.If this request succeeds, the unreadable page is replaced by the copy, which usually resolves the error.

Per altre informazioni, vedere Correzione automatica della pagina (Gruppi di disponibilità/Mirroring del database).For more information, see Automatic Page Repair (Availability Groups: Database Mirroring).

Vedere ancheSee Also

Modalità di disponibilità (gruppi di disponibilità AlwaysOn) Availability Modes (Always On Availability Groups)
Failover e modalità di failover (gruppi di disponibilità AlwaysOn) Failover and Failover Modes (Always On Availability Groups)
Panoramica delle istruzioni Transact-SQL per i gruppi di disponibilità Always On (SQL Server). Overview of Transact-SQL Statements for Always On Availability Groups (SQL Server)
Panoramica dei cmdlet di PowerShell per Gruppi di disponibilità Always On (SQL Server) Overview of PowerShell Cmdlets for Always On Availability Groups (SQL Server)
Supporto della disponibilità elevata per i database OLTP in memoria High Availability Support for In-Memory OLTP databases
Prerequisiti, restrizioni e raccomandazioni per i gruppi di disponibilità AlwaysOn (SQL Server) Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server)
Creazione e configurazione di gruppi di disponibilità (SQL Server) Creation and Configuration of Availability Groups (SQL Server)
Repliche secondarie attive: Repliche secondarie leggibili (Gruppi di disponibilità AlwaysOn) Active Secondaries: Readable Secondary Replicas (Always On Availability Groups)
Repliche secondarie attive: Backup in repliche secondarie (Gruppi di disponibilità AlwaysOn) Active Secondaries: Backup on Secondary Replicas (Always On Availability Groups)
Listener del gruppo di disponibilità, connettività client e failover dell'applicazione (SQL Server)Availability Group Listeners, Client Connectivity, and Application Failover (SQL Server)