Manutenzione del registro delle transazioni sul database Mirror


10

Versione SQL Server: 2008 R2 Enterprise SP2

Sto cercando di ottenere un controllo sulla nostra manutenzione di SQL Server e mi sono imbattuto in qualcosa che penso non sia corretto. Abbiamo una singola istanza di produzione con 3 database, ciascuno dei quali viene replicato off-site su un'istanza DR.

Osservando l'istanza DR ho notato che i file LDF erano enormi, oltre 35 GB per i database molto usati.

Capisco che ciò è probabilmente dovuto al fatto che i database mirror si trovano in modalità di ripristino completo e che i log non sono mai stati sottoposti a backup, continueranno a crescere fino a esaurire lo spazio su disco.

Stiamo eseguendo backup dei log sul database principale e la mia domanda è: quali sono i problemi con l'esecuzione di un backup dei log su un mirror?

Almeno un backup completo del database dal mirror deve essere completato prima di eseguire un backup del registro, in tal caso ci sono opzioni speciali che devono essere utilizzate perché è un mirror?

Anche in questo caso si tratta di raccomandazioni per la manutenzione del registro delle transazioni sul database MIRROR .

Grazie per qualsiasi input

Risposte:


5

Stiamo eseguendo backup dei log sul database principale e la mia domanda è: quali sono i problemi con l'esecuzione di un backup dei log su un mirror?

Non è possibile eseguire un backup del registro sul database mirror.

Almeno un backup completo del database dal mirror deve essere completato prima di eseguire un backup del registro, in tal caso ci sono opzioni speciali che devono essere utilizzate perché è un mirror?

Non è possibile eseguire un backup completo del database sul database mirror.

Prendi questo per esempio: ho quello Server1che ospita il database principale AdventureWorks2012e ho quello Server2che contiene il mirror. Ecco cosa succede quando provo ad eseguire i backup sul database mirror (attivo Server2):

use master;
go

backup database AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.bak';
go

Messaggio 954, livello 14, stato 1, riga 2
Impossibile aprire il database "AdventureWorks2012". Funziona come un database mirror .
Messaggio 3013, livello 16, stato 1, riga 2
BACKUP DATABASE termina in modo anomalo.

backup log AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.trn';
go

Messaggio 954, livello 14, stato 1, riga 1
Impossibile aprire il database "AdventureWorks2012". Funziona come un database mirror .
Messaggio 3013, livello 16, stato 1, riga 1
BACKUP LOG si sta chiudendo in modo anomalo.

Dai un'occhiata a queste FAQ sul mirroring del database di Robert Davis . Lo citerò per quanto riguarda questa operazione e la manutenzione del registro delle transazioni del database mirror:

Quando si esegue il backup del registro sull'entità, i file di registro virtuali (singole unità all'interno del file di registro) sono contrassegnati come riscrivibili. Gli stessi VLF sono contrassegnati come riscrivibili anche nel file di registro del mirror. Lo stato VLF è rispecchiato nel database .

Così il gioco è fatto. Se si dispone di backup del registro delle transazioni sull'entità, il comportamento di riutilizzo del registro simile verrà replicato nel database del partner.


Lo odio quando c'è un articolo là fuori che risponde alla mia domanda esatta e non lo trovo. Questo ha perfettamente senso, quando ho rilevato che i registri non venivano sottoposti a backup e sono diventati molto grandi sul principale, quindi dopo aver avviato backup regolari ho ridotto i registri ma non ho pensato di farlo sul mirror. Grazie!
Jeremie Grund,

1
Una domanda aggiuntiva sarebbe: è possibile ridurre il registro delle transazioni con mirroring troppo cresciuto ora che abbiamo backup regolari del registro delle transazioni sull'entità?
Jeremie Grund,

@JeremieGrund Un modo per farlo sarebbe quello di eseguire il failover nel database con mirroring e fare la riduzione lì. Provalo a fondo in un ambiente non di produzione per assicurarti che abbia il comportamento che desideri / ti aspetti.
Thomas Stringer,

0

@JeremieGrund - Se l'architettura del file fisico del database è la stessa (nomi e percorsi dei file di dati e di registro), se si riduce il file di registro sull'entità, il comando di riduzione verrà inviato al mirror e fare lo stesso sul mirror. In questo modo è possibile mantenere il file di registro del mirror. Se l'architettura dei file non è identica, è necessario seguire il suggerimento di Thomas Stringer.

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.