Server di controllo del mirroring del database

Per supportare il failover automatico, è necessario configurare una sessione di mirroring del database in modalità a protezione elevata e utilizzare l'istanza di un terzo server, noto come server di controllo del mirroring. Il server di controllo del mirroring è un'istanza facoltativa di SQL Server che consente al server mirror in una sessione in modalità a protezione elevata di stabilire se avviare un failover automatico. A differenza dei due partner, il server di controllo del mirroring non interagisce con il database. Il supporto del failover automatico è l'unico ruolo del server di controllo del mirroring.

Nota

In modalità a prestazioni elevate, il server di controllo del mirroring può influenzare negativamente la disponibilità. Se un server di controllo del mirroring è configurato per una sessione di mirroring del database, il server principale deve essere connesso almeno a una delle istanze degli altri server, ovvero il server mirror o il server di controllo del mirroring, oppure a entrambe. In caso contrario, il database non è più disponibile e diventa impossibile forzare il servizio (con possibile perdita di dati). Per tale motivo, nella modalità a prestazioni elevate è fortemente consigliabile mantenere sempre inattivo il server di controllo del mirroring. Per informazioni relative all'impatto di un server di controllo del mirroring sulla modalità a prestazioni elevate, vedere Mirroring asincrono del database (modalità a prestazioni elevate)

Nella figura seguente viene illustrata una sessione in modalità a protezione elevata con un server di controllo del mirroring.

Sessione di mirroring con un server di controllo del mirroring

Utilizzo di un server di controllo del mirroring in più sessioni

Un'istanza del server specifica può fungere da server di controllo del mirroring in sessioni di mirroring del database simultanee, ogni sessione per un database diverso. Sessioni diverse possono avere luogo con partner diversi. Nella figura seguente viene illustrata un'istanza del server che rappresenta un server di controllo del mirroring in due sessioni di mirroring del database con partner diversi.

Istanza del server che rappresenta il server di controllo del mirroring per 2 database

Un'istanza a server singolo può inoltre fungere contemporaneamente da server di controllo del mirroring in alcune sessioni e da partner in altre. Tuttavia, in pratica, un'istanza del server funge in genere da server di controllo del mirroring o da partner. I partner richiedono infatti computer sofisticati, con hardware sufficiente per supportare un database di produzione, mentre è possibile eseguire il server di controllo del mirroring in qualunque sistema Windows disponibile che supporti SQL Server 2008.

Indicazioni relative a software e hardware

È fortemente consigliabile che il server di controllo del mirroring si trovi su un computer diverso rispetto ai partner. I partner per il mirroring del database sono supportati solo da SQL Server 2005 Standard e versioni successive e da SQL Server 2005 Enterprise Edition e versioni successive. I server di controllo del mirroring sono invece supportati anche da SQL Server 2005 Workgroup e versioni successive e da SQL Server 2005 Express Edition e versioni successive. Tuttavia, in SQL Server 2008 e versioni successive, un server di controllo del mirroring di SQL Server 2005 è supportato solo in caso di aggiornamento da una configurazione del mirroring di SQL Server 2005. Non è possibile aggiungere un server di controllo del mirroring di SQL Server 2005 a configurazioni del mirroring nuove o esistenti di SQL Server 2008 o versione successiva, per cui è richiesto che il server di controllo del mirroring venga eseguito in SQL Server 2008 o versione successiva.

Un server di controllo del mirroring può essere eseguito su qualsiasi computer affidabile che supporti una di queste versioni di SQL Server. Tuttavia è consigliabile che ogni istanza del server utilizzata come server di controllo del mirroring soddisfi la configurazione minima necessaria per versione di SQL Server Standard in esecuzione. Per ulteriori informazioni su questi requisiti, vedere Requisiti hardware e software per l'installazione di SQL Server 2008 R2

Ruolo del server di controllo del mirroring nel failover automatico

Nel corso di una sessione di mirroring del database viene eseguito il monitoraggio dello stato di connessione di tutte le istanze del server. Se i partner vengono disconnessi gli uni dagli altri, si basano sul server di controllo del mirroring per assicurare che solo uno di essi stia attualmente rispondendo alle richieste del database. Se un server mirror sincronizzato perde la connessione al server principale ma rimane connesso al server di controllo del mirroring, il server mirror contatta il server di controllo del mirroring per determinare se quest'ultimo ha perso la connessione al server principale:

  • Se il server principale è ancora connesso al server di controllo del mirroring, il failover automatico non avviene. Il server principale continua invece a rispondere alle richieste del database accumulando al contempo record del log da inviare al server mirror quando il partner si riconnette.

  • Se anche il server di controllo del mirroring viene disconnesso dal server principale, il server mirror viene a conoscenza del fatto che il database principale è diventato non disponibile. In questo caso, il server mirror avvia immediatamente un failover automatico.

  • Se il server mirror viene disconnesso dal server di controllo del mirroring e dal server principale, il failover automatico non è possibile, indipendentemente dallo stato del server principale.

Il requisito che prevede che almeno due delle istanze del server devono essere connesse è noto come quorum. Il quorum assicura che il database possa essere utilizzato da un solo partner per volta. Per informazioni sul funzionamento del quorum e sul suo impatto su una sessione, vedere Quorum: Impatto di un server di controllo del mirroring sulla disponibilità del database.