Quorum: Impatto di un server di controllo del mirroring sulla disponibilità del database (mirroring del database)Quorum: How a Witness Affects Database Availability (Database Mirroring)

Ogni volta che viene impostato un server di controllo del mirroring per una sessione di mirroring del database, è necessario che esista il quorum .Whenever a witness is set for a database mirroring session, quorum is required. Il quorum è una relazione esistente quando due o più istanze del server in una sessione di mirroring del database sono connesse l'una all'altra.Quorum is a relationship that exists when two or more server instances in a database mirroring session are connected to each other. In genere, un quorum coinvolge tre istanze del server interconnesse.Typically, quorum involves three interconnected server instances. Quando è impostato un server di controllo del mirroring, il quorum è necessario per rendere disponibile il database.When a witness is set, quorum is required to make the database available. Progettato per la modalità a protezione elevata con failover automatico, il quorum garantisce che un database sia di proprietà di un singolo partner alla volta.Designed for high-safety mode with automatic failover, quorum makes sure that a database is owned by only one partner at a time.

Se un'istanza del server specifica viene disconnessa da una sessione di mirroring, perde il quorum.If a particular server instance becomes disconnected from a mirroring session, that instance loses quorum. In assenza di istanze del server connesse, la sessione perde il quorum e il database non è più disponibile.If no server instances are connected, the session loses quorum and the database becomes unavailable. Sono possibili tre tipi di quorum:Three types of quorum are possible:

  • Un quorum completo include sia i partner che il server di controllo del mirroring.A full quorum includes both partners and the witness.

  • Un quorum server di controllo del mirroring-partner è costituito dal server di controllo del mirroring e da uno dei partner.A witness-to-partner quorum consists of the witness and either partner.

  • Un quorum partner-partner è costituito dai due partner.A partner-to-partner quorum consists of the two partners.

    Nella figura seguente vengono illustrati questi tipi di quorum.The following figure shows these types of quorum.

    Quorum: completo; server di controllo del mirroring e partner; entrambi i partnerQuorums: full; witness and partner; both partners

    Finché il server principale corrente mantiene il quorum, detiene il ruolo di server principale e continua a rendere disponibile il database, a meno che il proprietario del database non esegua un failover manuale.As long as the current principal server has quorum, this server owns the role of principal and continues to serve the database, unless the database owner performs a manual failover. Se il server principale perde il quorum, smette di rendere disponibile il database.If the principal server loses quorum, it stops serving the database. Il failover automatico può essere eseguito solo se il database principale perde il quorum, in modo da garantire che non renda più disponibile il database.Automatic failover can occur only if the principal database has lost quorum, which guarantees that it is no longer serving the database.

    Un'istanza del server disconnessa salva il relativo ruolo più recente nella sessione.A disconnected server instance saves its most recent role in the session. In genere, un'istanza del server disconnessa si riconnette alla sessione quando viene riavviata e riacquisisce il quorum.Typically, a disconnected server instance reconnects to the session when it restarts and regains quorum.

Importante

Il server di controllo del mirroring deve essere impostato solo quando si intende utilizzare la modalità a protezione elevata con failover automatico.The witness should be set only when you intend to use high-safety mode with automatic failover. Nella modalità a prestazioni elevate, che non richiede mai un server di controllo del mirroring, è consigliabile impostare la proprietà WITNESS su OFF.In high-performance mode, for which a witness is never required, we strongly recommend setting the WITNESS property to OFF. Per informazioni relative all'impatto di un server di controllo del mirroring sulla modalità a prestazioni elevate, vedere Modalità di funzionamento del mirroring del database.For information about the impact of a witness on high-performance mode, see Database Mirroring Operating Modes.

Quorum in sessioni in modalità a protezione elevataQuorum in High-Safety Mode Sessions

In modalità a protezione elevata, il quorum consente il failover automatico in quanto rende disponibile un contesto in cui il partner proprietario del ruolo di server principale è determinato dalle istanze del server con quorum.In high-safety mode, quorum allows automatic failover by providing a context in which the server instances with quorum arbitrate which partner owns the role of principal. Il server principale rende disponibile il database se dispone del quorum.The principal server serves the database if it has quorum. Se il server principale perde il quorum mentre il server mirror e il server di controllo del mirroring sincronizzati mantengono il quorum, viene eseguito il failover automatico.If the principal server loses quorum when the synchronized mirror server and witness retain quorum, automatic failover occurs.

I tipi di quorum possibili per la modalità a protezione elevata sono i seguenti:The quorum scenarios for high-safety mode are as follows:

  • Un quorum completo costituito da entrambi i partner e dal server di controllo del mirroring.A full quorum that consists of both partners and the witness.

    In circostanze normali tutte e tre le istanze del server prendono parte a un quorum a tre vie, denominato quorum completo.Ordinarily, all three server instances participate in a three-way quorum, called a full quorum. Con un quorum completo, il server principale e il server mirror continuano a svolgere i rispettivi ruoli, a meno che non si verifichi un failover manuale.With a full quorum, the principal and mirror servers continue to perform their respective roles (unless manual failover occurs).

  • Un quorum server di controllo del mirroring-partner costituito dal server di controllo del mirroring e da uno dei partner.A witness-to-partner quorum that consists of the witness and either partner.

    Se la connessione di rete tra i partner si interrompe perché uno di essi non è più raggiungibile, possono verificarsi i casi seguenti:If the network connection between the partners is lost because one of the partners has been lost, the following cases are possible:

    • La connessione con il server mirror viene persa e il server principale e il server di controllo del mirroring mantengono il quorum.The mirror server is lost, and the principal server and witness retain quorum.

      In questo caso, il server principale imposta il relativo database su DISCONNECTED e viene eseguito con il mirroring in stato SUSPENDED.In this case, the principal sets its database to DISCONNECTED and runs with mirroring in a SUSPENDED state. Questa condizione viene definita esecuzione senza mirroring perché il mirroring del database attualmente non viene eseguito. Quando il server mirror parteciperà di nuovo alla sessione, riacquisirà il quorum come mirror e avvierà la risincronizzazione della propria copia del database.(This is referred to as running exposed, because the database is currently not being mirrored.) When the mirror server rejoins the session, the server regains quorum as mirror and starts resynchronizing its copy of the database.

    • La connessione con il server principale viene persa e il server mirror e il server di controllo del mirroring mantengono il quorum.The principal server is lost, and the witness and the mirror server retain quorum.

      In questo caso, viene eseguito il failover automatico.In this case, automatic failover occurs. Per altre informazioni, vedere Database Mirroring Operating Modes.For more information, see Database Mirroring Operating Modes.

    • Il quorum viene perso da tutte le istanze del server, ma successivamente vengono riconnessi il mirroring e il server di controllo del mirroring.All the server instances lose quorum, but subsequently the mirror and witness reconnect. In questo caso, il database non verrà utilizzato.The database will not be served in this case.

      In rari casi, la connessione di rete tra i partner di failover si interrompe anche se entrambi rimangono connessi al server di controllo del mirroring.Rarely, the network connection between failover partners is lost while both partners remain connected to the witness. In questa circostanza esistono due quorum separati "server di controllo del mirroring-partner", con il server di controllo del mirroring che funge da legame.In this event, two, separate witness-to–partner quorums exist, with the witness as a liaison. Il server di controllo del mirroring informa il server mirror che il server principale è ancora connesso,The witness informs the mirror server that the principal server is still connected. pertanto il failover automatico non viene eseguito.Therefore, automatic failover does not occur. Il server mirror, invece, mantiene il relativo ruolo e attende di riconnettersi al server principale.Instead, the mirror server retains the mirror role and waits to reconnect to the principal. Se in questa fase la coda di rollforward include record del log, il server mirror continua a eseguire il rollforward del database mirror.If the redo queue contains log records at this point, the mirror server continues to roll forward the mirror database. In fase di riconnessione, il server mirror ripeterà la sincronizzazione del database mirror.On reconnecting, the mirror server will resynchronize the mirror database.

  • Un quorum partner-partner costituito dai due partner.A partner-to-partner quorum that consists of the two partners.

    Finché i partner mantengono il quorum, il database rimane in stato SYNCHRONIZED e il failover manuale è possibile.As long as the partners retain quorum, the database continues in a SYNCHRONIZED state, and manual failover remains possible. Senza il server di controllo del mirroring, il failover automatico non è possibile. Quando invece il server di controllo del mirroring riacquisisce il quorum, la sessione riprende a funzionare in modo normale e il failover automatico è di nuovo supportato.Without the witness, automatic failover is not possible; but when the witness regains quorum, the session resumes regular operation, and automatic failover is supported again.

  • La sessione perde il quorum.The session loses quorum.

    Se tutte le istanze del server vengono disconnesse le une dalle altre, si dice che la sessione ha perso il quorum.If all the server instances become disconnected from each other, the session is said to have lost quorum. A mano a mano che le istanze del server si riconnettono le une alle altre, riacquisiscono il quorum.As server instances reconnect to each other, they regain quorum with each other.

    • Se il server principale si riconnette a una delle altre istanze del server, il database diventa disponibile.If the principal server reconnects with either of the other server instances, the database becomes available.

    • Se il server principale rimane disconnesso mentre il server mirror e il server di controllo del mirroring si riconnettono l'uno all'altro, il failover automatico non può essere eseguito perché si potrebbe verificare una perdita di dati.If the principal server remains disconnected, but the mirror and witness reconnect to each other, automatic failover cannot occur because data loss might occur. Il database non sarà pertanto disponibile fino a quando il server principale non parteciperà di nuovo alla sessione.Therefore, the database remains unavailable, until the principal server rejoins the session.

    • Quando tutte e tre le istanze del server si riconnettono, viene riacquisito il quorum completo e la sessione riprende a funzionare in modo normale.When all three server instances have reconnected, full quorum is regained, and the session resumes its regular operation.

Importante

Una sessione che dispone di un quorum "partner-partner" perde il quorum quando uno dei due partner perde il quorum.When a session has a partner-to-partner quorum, if either partner loses quorum, the session loses quorum. Se si prevede che il server di controllo del mirroring rimarrà disconnesso per un lungo periodo di tempo, è pertanto consigliabile rimuovere temporaneamente tale server dalla sessione.Therefore, if you expect the witness to remain disconnected for lots of time, we recommend that you temporarily remove the witness from the session. La rimozione del server di controllo del mirroring comporta l'annullamento del requisito del quorum.Removing the witness removes the requirement for quorum. Se quindi il server mirror viene disconnesso, il server principale potrà continuare a rendere disponibile il database.Then, if the mirror server becomes disconnected, the principal server can continue to serve the database. Per informazioni sull'aggiunta o sulla rimozione di un server di controllo del mirroring, vedere Server di controllo del mirroring del database.For information about how to add or remove a witness, see Database Mirroring Witness.

Impatto del quorum sulla disponibilità del databaseHow Quorum Affects Database Availability

Nella figura seguente viene illustrato il modo in cui il server di controllo del mirroring e i partner interagiscono per garantire che in qualsiasi momento un singolo partner sia il proprietario del ruolo di server principale e che solo il server principale corrente sia in grado di attivare la modalità online per il database.The following illustration shows how the witness and the partners cooperate to make sure that, at given time, only one partner owns the role of principal and only the current principal server can bring its database online. In entrambi questi scenari inizialmente esiste un quorum completo e i ruoli di server principale e di server mirror sono svolti rispettivamente da Partner_A e Partner_B .Both scenarios start with full quorum, and Partner_A in the principal role and Partner_B in the mirror role.

Collaborazione tra il server di controllo del mirroring e i partnerHow the witness and partners cooperate

Lo scenario 1 viene illustra come, dopo un errore del server principale originale (Partner_A), il server di controllo del mirroring e il server mirror stabiliscono che il server principale Partner_Anon è più disponibile e formano il quorum.Scenario 1 shows how after the original principal server (Partner_A) fails, the witness and mirror agree that the principal, Partner_A, is not available any longer and form quorum. Il server mirror Partner_B assume quindi il ruolo di server principale.The mirror, Partner_B then assumes the principal role. Viene eseguito il failover automatico e Partner_Battiva la modalità online per la propria copia del database.Automatic failover occurs, and Partner_B, brings its copy of the database online. Partner_B diventa quindi inattivo e il database risulta offline.Then Partner_B goes down, and the database goes offline. Il server principale precedente, ovvero Partner_A, successivamente si riconnette al server di controllo del mirroring riottenendo il quorum. Comunicando con il server di controllo del mirroring, Partner_A rileva tuttavia che non potrà attivare la modalità online per la propria copia del database perché Partner_B è l'attuale proprietario del ruolo di server principale.Later, the former principal server, Partner_A, reconnects to the witness regaining quorum, but on communicating with the witness, Partner_A learns that it cannot bring its copy of the database online, because Partner_B now owns the principal role. Quando Partner_B parteciperà di nuovo alla sessione, riattiverà la modalità online per il database.When Partner_B rejoins the session, it brings the database back online.

Nello scenario 2 il server di controllo del mirroring perde il quorum, mentre i partner Partner_A e Partner_Bmantengono il quorum l'uno nei confronti dell'altro e il database rimane online.In Scenario 2, the witness loses quorum, while the partners, Partner_A and Partner_B, retain quorum with each other, and the database remains online. Il quorum viene quindi perso anche dai partner e il database risulta offline.Then the partners lose their quorum, too, and the database goes offline. Il server principale, ovvero Partner_A, successivamente si riconnette al server di controllo del mirroring riottenendo il quorum.Later, the principal server, Partner_A, reconnects to the witness regaining quorum. Il server di controllo del mirroring conferma che il ruolo di server principale appartiene ancora a Partner_A e Partner_A riattiva la modalità online per il database.The witness confirms that Partner_A still owns the principal role, and Partner_A brings the database back online.

Vedere ancheSee Also

Modalità di funzionamento del mirroring del database Database Mirroring Operating Modes
Cambio di ruolo durante una sessione di mirroring del database (SQL Server) Role Switching During a Database Mirroring Session (SQL Server)
Server di controllo del mirroring del database Database Mirroring Witness
Possibili errori durante il mirroring del database Possible Failures During Database Mirroring
Stati di mirroring (SQL Server)Mirroring States (SQL Server)