Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Ogni volta che viene impostato un witness per una sessione di mirroring del database, è richiesto il quorum. 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. In genere, un quorum coinvolge tre istanze del server interconnesse. Quando è configurato un testimone, il quorum è necessario per rendere disponibile il database. 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.
Se una determinata istanza del server viene disconnessa da una sessione di mirroring, perde il quorum. In assenza di istanze del server connesse, la sessione perde il quorum e il database non è più disponibile. Sono possibili tre tipi di quorum:
Un quorum completo comprende sia i partner che il testimone.
Un quorum witness-partner è costituito dal witness e da uno dei due partner.
Un quorum partner-partner è costituito dai due partner.
Nella figura seguente vengono illustrati questi tipi di quorum.
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. Se il server principale perde il quorum, smette di rendere disponibile il database. Il failover automatico può verificarsi solo se il database principale ha perso il quorum, il che garantisce che non sia più in servizio per il database.
Un'istanza del server disconnessa salva il relativo ruolo più recente nella sessione. In genere, un'istanza del server disconnessa si riconnette alla sessione quando viene riavviata e riacquisisce il quorum.
Importante
Il server di controllo del mirroring deve essere impostato solo quando si prevede di utilizzare la modalità a protezione elevata con failover automatico. Nella modalità a prestazioni elevate, per la quale non è mai richiesto un witness, consigliamo vivamente di impostare la proprietà WITNESS su OFF. Per informazioni sull'impatto di un witness sulla modalità a prestazioni elevate, vedere Modalità operative del mirroring del database.
Quorum nelle sessioni in modalità ad alta sicurezza
In modalità a protezione elevata, il quorum consente il failover automatico fornendo un contesto in cui le istanze del server con quorum stabiliscono quale partner detiene il ruolo di principale. Il server principale rende disponibile il database se dispone del quorum. Se il server principale perde il quorum quando il server mirror sincronizzato e il server di controllo mantengono il quorum, si verifica il failover automatico.
I tipi di quorum possibili per la modalità a protezione elevata sono i seguenti:
Un quorum completo costituito da entrambi i partner e dal testimone.
In circostanze normali tutte e tre le istanze del server prendono parte a un quorum a tre vie, denominato quorum completo. 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.
Un quorum testimone-partner costituito dal testimone e da uno dei due partner.
Se la connessione di rete tra i partner si interrompe perché uno di essi non è più raggiungibile, possono verificarsi i casi seguenti:
Il server mirror non è disponibile e il server principale e il server di controllo mantengono il quorum.
In questo caso, il server principale imposta il proprio database sullo stato DISCONNECTED e funziona con il mirroring nello stato SUSPENDED. (Questa condizione è denominata funzionamento esposto, perché il database attualmente non è sottoposto a mirroring.) Quando il server mirror si ricongiunge alla sessione, recupera il quorum come mirror e avvia la risincronizzazione della propria copia del database.
Il server principale non è più disponibile e il server mirror e il server di controllo mantengono il quorum.
In questo caso, viene eseguito il failover automatico. Per altre informazioni, vedere Database Mirroring Operating Modes.
Tutte le istanze del server perdono il quorum, ma in seguito il mirror e il witness si riconnettono. In questo caso, il database non verrà utilizzato.
Raramente, la connessione di rete tra i partner di failover si interrompe mentre entrambi rimangono connessi al witness. In questo caso esistono due quorum separati tra witness e partner, con il witness che funge da collegamento. Il witness informa il server mirror che il server primario è ancora connesso. pertanto il failover automatico non viene eseguito. Il server mirror, invece, mantiene il relativo ruolo e attende di riconnettersi al server principale. Se in questa fase la coda di rollforward include record del log, il server mirror continua a eseguire il rollforward del database mirror. In fase di riconnessione, il server mirror ripeterà la sincronizzazione del database mirror.
Un quorum tra partner costituito dai due partner.
Finché i partner mantengono il quorum, il database continua a essere nello stato SYNCHRONIZED e il failover manuale rimane possibile. Senza il witness, il failover automatico non è possibile; ma quando il witness riacquisisce il quorum, la sessione riprende il normale funzionamento e il failover automatico torna a essere supportato.
La sessione perde il quorum.
Se tutte le istanze del server vengono disconnesse le une dalle altre, si dice che la sessione ha perso il quorum. A mano a mano che le istanze del server si riconnettono le une alle altre, riacquisiscono il quorum.
Se il server principale si riconnette a una delle altre istanze del server, il database diventa disponibile.
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. Il database non sarà pertanto disponibile fino a quando il server principale non parteciperà di nuovo alla sessione.
Quando tutte e tre le istanze del server si riconnettono, viene riacquisito il quorum completo e la sessione riprende a funzionare in modo normale.
Importante
Una sessione che dispone di un quorum "partner-partner" perde il quorum quando uno dei due partner perde il 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. La rimozione del witness elimina il requisito del quorum. Se quindi il server mirror viene disconnesso, il server principale potrà continuare a rendere disponibile il database. Per informazioni sull'aggiunta o sulla rimozione di un server di controllo del mirroring, vedere Server di controllo del mirroring del database.
Impatto del quorum sulla disponibilità del database
La figura seguente mostra come il testimone e i partner collaborano per garantire che, in un dato momento, solo un partner detenga il ruolo di principale e che solo il server principale corrente possa portare online il proprio database. 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 .
Lo scenario 1 mostra come, dopo che il server principale originale (Partner_A) si guasta, il server witness e il server mirror concordano sul fatto che il server principale, Partner_A, non è più disponibile e formano il quorum. Il server mirror Partner_B assume quindi il ruolo di server principale. Viene eseguito il failover automatico e Partner_Battiva la modalità online per la propria copia del database. Partner_B diventa quindi inattivo e il database risulta offline. In seguito, il precedente server principale, Partner_A, si riconnette al witness, riacquisendo il quorum, ma comunicando con il witness, Partner_A apprende di non poter portare online la propria copia del database, perché Partner_B detiene ora il ruolo di principale. Quando Partner_B parteciperà di nuovo alla sessione, riattiverà la modalità online per il database.
Nello scenario 2, il witness perde il quorum, mentre i partner, Partner_A e Partner_B, mantengono il quorum tra loro e il database rimane online. Il quorum viene quindi perso anche dai partner e il database risulta offline. In seguito, il server principale, Partner_A, si riconnette al witness recuperando il quorum. Il testimone conferma che Partner_A detiene ancora il ruolo principale e Partner_A riporta il database online.