Ricollegare il server di mirroring SQL Server 2008 R2


10

Il server di failover ha lo stato (Mirror, Disconnected, In recovery) e il server principale ha lo stato (Main, Disconnected).

Qual è il processo per riconnettere questi server?


Ecco una domanda correlata che sembra molto simile a questa. Dai un'occhiata e vedi se aiuta: Rompere e ripristinare un mirror Ecco alcuni passaggi rapidi su come mettere in pausa o riprendere il mirroring del database Se hai ancora problemi dopo aver letto quelli, aggiorna il tuo post con quello che hai provato tutti e andremo da lì.
Aaron,

Risposte:


6

A volte il riavvio dell'endpoint del mirroring sul server principale risolverà questo problema.

Per fare questo usa il seguente T-SQL.

ALTER ENDPOINT Endpoint_Name STATE = STOPPED

ALTER ENDPOINT Endpoint_Name STATE = STARTED

Per ottenere il nome dell'endpoint.

SELECT * FROM sys.endpoints
WHERE type = 4

Vedere KB 2490051 per maggiori dettagli.


1
Ho dovuto riavviare l'endpoint sul server mirror come KB suggerisce come seconda opzione.
Jan Zahradník,

4

Innanzitutto, prova a farli riconnettere con questo comando T-SQL sull'entità:

ALTER DATABASE AdventureWorks2012 SET PARTNER RESUME;

Se fallisce, hai un problema di comunicazione tra il principale e il mirror, ed è qui che inizia il divertimento. Può essere qualsiasi cosa, dalla connettività IP alla sicurezza sugli endpoint del mirroring a diversi metodi di crittografia. Consiglierei il libro di Robert Davis Pro SQL Server 2008 Mirroring se hai bisogno di approfondire la risoluzione dei problemi.


2

Nel nostro caso utilizziamo l'autenticazione con certificato per connettere endpoint di mirroring e il problema era dovuto al fatto che uno dei certificati utilizzati dagli endpoint di mirroring era scaduto.

È possibile controllare la data di scadenza del certificato coinvolto nell'autenticazione dell'endpoint facendo un

SELECT * FROM sys.certificates  

In questo caso, dovrai creare nuovi certificati per qualsiasi cosa scaduta, quindi esegui ALTER ENDPOINTdopo che sono stati importati.


1

Ho risolto questo problema con i passaggi successivi, il riavvio dell'endpoint solo su PRIMARY non ha aiutato

  1. Su PRIMARY:

    SELECT * FROM sys.endpoints WHERE type = 4
    
    ALTER ENDPOINT Mirroring STATE = STOPPED
    
    ALTER ENDPOINT Mirroring STATE = STARTED
  2. Su SPECCHIO:

    SELECT * FROM sys.endpoints WHERE type = 4
    
    ALTER ENDPOINT Mirroring STATE = STOPPED
    
    ALTER ENDPOINT Mirroring STATE = STARTED
  3. Di nuovo su PRIMARY:

    ALTER DATABASE PACXDSite SET PARTNER RESUME;

0

Astuccio:

Quando si esegue il comando seguente sul server principale:

alter database  'Database_Name' set partner off

Dopo aver eseguito il comando precedente, il DB passa in [mirror, disconnected]stato sul server mirror.

Risoluzione:

Passaggio 1: eseguire la query di seguito sul mirror

exec sp_resetstatus 'Database_Name'

Passaggio 2: dopo aver eseguito il comando seguente, il DB sarà disponibile.

restore database 'Database_Name' with recovery

Nota: il passaggio 2 richiederà del tempo per il ripristino.


Questo rende il mirror totalmente disconnesso e devi ristabilire il mirroring
Alexey F,

0

Se "RIPRENDI PARTNER" non funziona

ALTER DATABASE AdventureWorks2016 SET PARTNER RESUME;

Vorrei spezzare il mirror per quel database (s) e riconfigurarlo.

- PASSAGGIO 1 SU PRINCIPALE, interrompere il mirror per un database

ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;

- PASSO 2 SU SPECCHIO, rompere il mirror per un database

ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;

- PASSO 3 SU SPECCHIO

RESTORE LAST FULL BACKUP DATABASE WITH NO RECOVERY 
RESTORE TRAN BACKUP DATABASE WITH NO RECOVERY

- PASSO 4 SU SPECCHIO

ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://PRINCIPAL.MyDomain.COM:5022';

- PASSO 5 SUL PRINCIPALE

ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://MIRROR.MyDomain.COM:5022';

- PASSAGGIO 6 SU PRINCIPALE, se era già stato configurato un TESTIMONE

ALTER DATABASE AdventureWorks2016 SET WITNESS = 'TCP://WITNESS.MyDomain.COM:5022';

Vale la pena ricordare che tutto quanto sopra può essere fatto durante l'orario di lavoro poiché il database principale sarà sempre online e disponibile.

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.