Server di controllo del mirroring del database

Si applica a:SQL Server

Per supportare il failover automatico, è necessario configurare una sessione di mirroring del database in modalità a protezione elevata e usare l'istanza di un terzo server, noto come server di controllo. 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 witness non gestisce il database. L'unico ruolo del witness è supportare il failover automatico.

Nota

In modalità a prestazioni elevate, il witness può incidere negativamente sulla disponibilità. Se per una sessione di mirroring del database è configurato un server di controllo, il server principale deve essere connesso ad almeno un'altra istanza del server, il server mirror o il server di controllo, oppure a entrambi. In caso contrario, il database non è più disponibile e diventa impossibile forzare il servizio (con possibile perdita di dati). Pertanto, in modalità a prestazioni elevate, si consiglia vivamente di mantenere sempre il witness impostato su OFF. Per informazioni sull'impatto di un witness sulla modalità a prestazioni elevate, vedere Modalità operative del mirroring del database.

La figura seguente mostra una sessione in modalità a protezione elevata con un witness.

Sessione di mirroring con un testimone

Contenuto dell'argomento:

Utilizzo di Witness in più sessioni

Una determinata istanza del server può fungere da server di controllo in sessioni simultanee di mirroring del database, ciascuna relativa a un database diverso. Sessioni diverse possono avere luogo con partner diversi. La figura seguente mostra un'istanza di server che funge da testimone 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. Questo perché i partner richiedono computer adeguatamente potenti, dotati di risorse hardware sufficienti a supportare un database di produzione, mentre il witness può essere eseguito su qualsiasi sistema Windows disponibile che supporti SQL Server.

Indicazioni relative a software e hardware

Si consiglia vivamente che il witness si trovi su un computer separato da quello dei partner. I partner di mirroring del database sono supportati solo da SQL Server Standard Edition e da SQL Server Enterprise Edition. I witness, invece, sono supportati anche da SQL Server Workgroup e SQL Server Express. Eccetto durante un aggiornamento da una versione precedente di SQL Server, le istanze del server in una sessione di mirroring devono essere tutte eseguite con la stessa versione di SQL Server. Ad esempio, un testimone di SQL Server 2008 (10.0.x) è supportato quando si esegue l'aggiornamento da una configurazione di mirroring di SQL Server 2008 (10.0.x), ma non può essere aggiunto a una configurazione di mirroring di SQL Server 2008 R2 (10.50.x) o versione successiva, esistente o nuova.

Un witness può essere eseguito su qualsiasi sistema informatico affidabile che supporti una qualsiasi di queste edizioni di SQL Server. Tuttavia è consigliabile che ogni istanza del server usata come server di controllo soddisfi la configurazione minima necessaria per la versione di SQL Server Standard in esecuzione. Per maggiori informazioni su questi requisiti, vedi Requisiti hardware e software per SQL Server 2016.

Ruolo del witness 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 si disconnettono tra loro, si affidano al witness per garantire che solo uno di essi stia attualmente gestendo il database. Se un server mirror sincronizzato perde la connessione al server principale ma rimane collegato al server di controllo del mirroring, il server mirror contatta il server di controllo del mirroring per determinare se questo ha perso la connessione al server principale:

  • Se il server principale è ancora connesso al server witness, il failover automatico non si verifica. 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 witness è anch'esso disconnesso dal server principale, il server mirror sa che il database principale non è più disponibile. In questo caso, il server mirror avvia immediatamente un failover automatico.

  • Se il server mirror viene disconnesso sia dal server witness sia dal server principale, non è possibile eseguire il failover automatico, indipendentemente dallo stato del server principale.

Il requisito che prevede che almeno due delle istanze del server debbano 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: Come un testimone influisce sulla disponibilità del database (Mirroring del database).

Per aggiungere o rimuovere un witness

Per aggiungere un testimone

Per rimuovere il witness

Vedi anche

Cambio di ruolo durante una sessione di mirroring del database (SQL Server)
Modalità operative del mirroring del database
Quorum: come un server witness influisce sulla disponibilità del database (mirroring del database)
Possibili errori durante il mirroring del database
Stati del mirroring (SQL Server)