Mirroring del database e istanze del cluster di failover di SQL Server

Si applica a:SQL Server

Per cluster di failover si intende una combinazione di uno o più dischi fisici inclusi in un gruppo cluster di Microsoft Cluster Services (MSCS), noto come gruppo di risorse, che partecipano ai nodi del cluster. Il gruppo di risorse viene configurato come istanza cluster di failover che ospita un'istanza di SQL Server. Un'istanza cluster di failover di SQL Server viene visualizzata nella rete come singolo computer, ma include funzionalità che consentono il failover tra nodi nel caso in cui un nodo non sia più disponibile. Per altre informazioni, vedere Istanze del cluster di failover Always On (SQL Server).

I cluster di failover offrono un supporto a disponibilità elevata per un'intera istanza di Microsoft SQL Server, mentre il mirroring del database offre un supporto a disponibilità elevata per un database singolo. Il mirroring del database viene utilizzato tra cluster di failover, nonché tra un cluster di failover e un host non cluster.

Nota

Per un'introduzione al mirroring del database, vedere Mirroring del database (SQL Server).

Mirroring e clustering

In genere, quando il mirroring viene utilizzato in combinazione con il clustering, il server principale e il server mirror risiedono entrambi nei cluster. Il server principale viene eseguito nell'istanza cluster di failover di un cluster mentre il server mirror viene eseguito nell'istanza cluster di failover di un cluster diverso. È tuttavia possibile stabilire una sessione di mirroring in cui un partner risiede nell'istanza cluster di failover di un cluster e l'altro partner risiede in un computer non cluster separato.

Se il server principale non è temporaneamente disponibile a causa del failover di un cluster, i client vengono disconnessi dal database. Al termine del failover di un cluster, è possibile riconnettere i client al server principale nello stesso cluster, in un cluster diverso o in un computer non cluster, a seconda della modalità operativa. Pertanto, quando si sceglie la configurazione per il mirroring del database in un ambiente cluster, la modalità operativa utilizzata per il mirroring riveste notevole importanza.

Sessione in modalità a sicurezza elevata con failover automatico

Se si desidera eseguire il mirroring di un database in modalità a sicurezza elevata con failover automatico, per i partner è consigliabile una configurazione a due cluster. Questa configurazione consente di ottenere la disponibilità massima. Il server di controllo del mirroring può risiedere in un terzo cluster o in un computer non cluster.

Se si verifica un problema nel nodo in cui è in esecuzione il server principale corrente, entro alcuni secondi viene avviato il failover automatico del database, mentre è ancora in corso il failover del cluster a un altro nodo. Viene eseguito il failover della sessione di mirroring del database al server mirror nell'altro cluster o nel computer non cluster, mentre il server mirror precedente diventa il server principale. Il nuovo server principale esegue il rollforward della rispettiva copia del database nel modo più rapido possibile e la porta online come database principale. Al termine del failover del cluster, che in genere richiede diversi minuti, l'istanza cluster di failover che in precedenza svolgeva la funzione di server principale diventa il server mirror.

Nella figura seguente viene illustrato un failover automatico tra cluster in una sessione di mirroring in esecuzione in modalità a sicurezza elevata con un server di controllo del mirroring, che supporta il failover automatico.

A failover on a cluster

Le tre istanze del server nella sessione di mirroring risiedono in tre cluster distinti: Cluster_A, Cluster_Be Cluster_C. In ogni cluster è in esecuzione un'istanza predefinita di SQL Server come istanza cluster di failover di SQL Server. All'avvio della sessione di mirroring, l'istanza cluster di failover in Cluster_A è il server principale, l'istanza cluster di failover in Cluster_B è il server mirror e l'istanza cluster di failover in Cluster_C è il server di controllo del mirroring nella sessione. Nella fase finale, si verifica un problema nel nodo attivo del Cluster_A e, di conseguenza, il server principale non è più disponibile.

Prima che si verifichi il failover del cluster, il server mirror, con la collaborazione del server di controllo del mirroring, rileva la perdita del server principale. Il server mirror esegue il rollforward del rispettivo database, portandolo online come nuovo database principale nel più breve tempo possibile. Al termine del failover nel Cluster_A , il server principale precedente è diventato il server mirror, che sincronizza il rispettivo database con il database principale corrente del Cluster_B.

Sessione in modalità a sicurezza elevata senza failover automatico

Se si esegue il mirroring di un database in modalità a sicurezza elevata senza failover automatico, un altro nodo del cluster assumerà il ruolo di server principale se nel nodo in cui è eseguito il server principale corrente si verifica un errore. Si noti che, quando il cluster non è disponibile, non è disponibile nemmeno il database.

Sessione in modalità a prestazioni elevate

Se si desidera eseguire il mirroring di un database in modalità a prestazioni elevate, è consigliabile posizionare il server principale nell'istanza cluster di failover di un cluster e il server mirror in un server non cluster in una posizione remota. Se viene eseguito il failover del cluster su un nodo diverso, l'istanza cluster di failover continuerà a svolgere la funzione di server principale nella sessione di mirroring. Se si verificano problemi nell'intero cluster, è possibile forzare il servizio nel server mirror.

Per impostare un nuovo cluster di failover di SQL Server

Per impostare il mirroring del database

Vedi anche

Mirroring del database (SQL Server)
Database Mirroring Operating Modes
Istanze del cluster di failover Always On (SQL Server)