Se eseguo il failover di un database, anche gli altri che condividono lo stesso endpoint mirror eseguono il failover?


11

Abbiamo due database impostati per il mirroring su una singola istanza di SQL Server: un database di test e un database di produzione. Entrambi vengono sottoposti a mirroring su un altro server utilizzando esattamente gli stessi endpoint.

Se vado nelle proprietà del database per il database di test e faccio clic sul pulsante "Failover", fallirà anche sul database di produzione poiché entrambi i database condividono un endpoint mirror e le loro proprietà degli indirizzi di rete del server sono uguali?

inserisci qui la descrizione dell'immagine

Sono preoccupato perché quando ho impostato il mirroring per il 2 ° database, non ho dovuto configurare nulla di nuovo. Ha appena usato tutte le informazioni esistenti.

Se utilizzo il pulsante "Failover" dalle proprietà del database, si verificherà il failover su tutti i database che utilizzano quell'endpoint o solo sul database specifico per il quale sto visualizzando le proprietà?

Risposte:


19

La risposta di @ mrdenny è precisa che il fallimento su un database non comporterà il fallimento di tutti gli altri database.

Tuttavia, solo per dare una panoramica più ampia di cosa sia un endpoint di mirroring del database :

Da BOL ,

La gestione delle connessioni in Microsoft SQL Server 2005 e versioni successive si basa su endpoint. Un endpoint è un oggetto SQL Server che consente a SQL Server di comunicare in rete. Per il mirroring del database, un'istanza del server richiede il proprio endpoint di mirroring del database dedicato. Tutte le connessioni di mirroring su un'istanza del server utilizzano un singolo endpoint di mirroring del database. Questo endpoint è un endpoint speciale utilizzato esclusivamente per ricevere connessioni di mirroring del database da altre istanze del server.

Per essere più flessibile, è possibile utilizzare T-sql per eseguire il failover manuale:

Disattiva il mirroring (interrompi mirroring) sul DB mirror.

ALTER DATABASE <<DB NAME>> SET PARTNER OFF

Impostare la mod di recupero del DB su RECOVERY

RESTORE DATABASE <<DB NAME>> WITH RECOVERY

Risolto e gli utenti orfani se si utilizza l'autenticazione SQL

EXEC sp_change_users_login Auto_Fix , ‘<<username>>’

MODIFICARE:

Dal momento che stai utilizzando la modalità di sicurezza elevata (come da screenshot), puoi utilizzare quanto segue dal server principale

ALTER DATABASE <<DB NAME>> SET PARTNER FAILOVER

In questo modo, si verifica solo l'inversione del ruolo e la direzione del mirroring viene invertita - il principal diventa mirror e viceversa. Si noti che MIRRORING non è ROTTO.

Si noti che per questo articolo MSDN

Il failover manuale può essere avviato solo dal server principale.

Se si desidera automatizzare l'intero failover, fare riferimento a Automazione del mirroring del database


8

No, non lo farà. I database sono sottoposti a failover indipendentemente l'uno dall'altro. Non vi è alcun danno al fallimento del database di test, il database di produzione rimarrà dove si trova.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.