Abbiamo impostato il mirroring del database durante il fine settimana e abbiamo dimenticato di riattivare il processo che esegue il backup dei registri delle transazioni. Quando sono arrivato questa mattina, il registro delle transazioni era aumentato a 58 GB e occupava gran parte dello spazio su disco.
Ho eseguito un backup manuale del registro delle transazioni su disco per riavviare il database, tuttavia l'esecuzione di DBCC SHRINKFILE non sembra ridurre la dimensione fisica del file di registro delle transazioni.
DBCC SHRINKFILE (N'MyDatabaseName_Log', 1000)
Se controllo l'utilizzo del registro tramite
DBCC SQLPERF(LOGSPACE)
Vedo che viene utilizzato solo il 22% del registro corrente
Nome registro Dimensione registro (MB) Spazio registro utilizzato (%) Stato MyDatabaseName 55440.87 22.38189 0
Se esco log_reuse_wait_desc
in sys.databses, l'unico record che vedo è DATABASE_MIRRORING
, quindi immagino che il mirror stia giocando un ruolo nel perché le dimensioni fisiche del file di registro non si riducono?
SELECT log_reuse_wait_desc
FROM sys.databases
WHERE name = N'MyDatabaseName';
Ho anche notato che il mio stato di mirroring del database principale è sospeso e il tentativo di riprenderlo fallisce immediatamente con il seguente errore:
Il partner di mirroring remoto per il database "MyDatabaseName" ha riscontrato l'errore 5149, stato 1, gravità 25. Il mirroring del database è stato sospeso. Risolvi l'errore sul server remoto e riprendi il mirroring oppure rimuovi il mirroring e ristabilisci l'istanza del server mirror.
Anche i log degli errori sul server mirror contengono questo errore, ma contengono anche errori relativi al riempimento dell'unità del file di registro
MODIFY FILE ha riscontrato l'errore 112 del sistema operativo (Spazio su disco insufficiente.) Durante il tentativo di espandere il file fisico.
e
F: \ Databaselogs \ MyDatabaseName_1.ldf: errore del sistema operativo 112 (spazio su disco insufficiente.) Rilevato.
Il server principale ha 60 GB sull'unità del file di registro (ci sono altri database ospitati qui), mentre il server con mirroring ha solo 45 GB.
Il backup del file di registro ha reso nuovamente utilizzabile il database, tuttavia desidero anche ridurre la dimensione del file di registro fisico sul disco e riprendere il mirroring.
Come posso ridurre le dimensioni del mio file di registro delle transazioni fisiche senza compromettere il mirroring o la catena di backup?
Sto eseguendo SQL Server 2005