Sono in qualche modo un nuovo DBA e gestisco un'istanza di SQL Server 2012 con una discreta quantità di attività. Sto correndo in modalità di recupero completo perché abbiamo bisogno di un recupero temporizzato.
In questo momento, eseguo un backup completo dei database e dei registri ogni giorno alle 5:00. Alcuni file di registro sono aumentati fino a 300 GB e anche dopo aver eseguito un backup non si riducono di dimensioni. Posso farli ridurre di dimensioni eseguendo qualcosa di simile a:
BACKUP LOG db1 TO DISK = '\\server\share\db1_log1.trn';
DBCC ShrinkFile([db1_log], 0);
BACKUP LOG db1 TO DISK = '\\server\share\db1_log2.trn';
DBCC ShrinkFile([db1_log], 0);
BACKUP LOG db1 TO DISK = '\\server\share\db1_log3.trn';
DBCC ShrinkFile([db1_log], 0);
Quando controllo gli LSN dei file di backup vedo qualcosa del tipo:
RESTORE headeronly FROM DISK = N'\\server\share\db1_log1.trn'
FirstLSN: 15781000014686200001
SecondLSN: 15802000000665000001
RESTORE headeronly FROM DISK = N'\\server\share\db1_log2.trn'
FirstLSN: 15802000000665000001
SecondLSN: 15805000000004100001
RESTORE headeronly FROM DISK = N'\\server\share\db1_log3.trn'
FirstLSN: 15805000000004100001
SecondLSN: 15808000000004200001
Non credo di spezzare la mia catena di log riducendo i file di log. Leggendo questo, credo di danneggiare la mia performance perché quei file di log ridotti devono ri-crescere da soli.
Domande:
- Perché il file di registro non si riduce dopo i miei backup? È perché ci sono transazioni senza commit?
- All'inizio stavo pensando che avrei dovuto ridurre i file di registro dopo ogni backup delle 5:00. Dopo aver letto su quanto sia negativo per le prestazioni, ora credo di dover eseguire backup regolari del registro ogni paio d'ore durante il giorno. È corretto?
- Il mio normale backup completo del database / dei registri avviene ogni giorno alle 5:00 del mattino e talvolta impiega 3 ore. Se pianifico che i backup del registro vengano eseguiti ogni ora, cosa accadrà quando il backup del registro si scontra con il backup delle 5:00?