Come troncare LOGSPACE con il database in modalità di recupero

July 7

Come troncare LOGSPACE con il database in modalità di recupero


Microsoft SQL Server è un server di database relazionale. Gli amministratori di database eseguono operazioni per mantenere il database che opera ad una velocità accettabile, assicurarsi che i dati siano accessibili quando gli utenti hanno bisogno e garantire che solo gli utenti autorizzati possono accedere ai dati. Durante l'esecuzione di alcuni di questi compiti, le cose possono andare male. Ad esempio, quando i file di log si riempiono durante un backup di routine, il DBA deve troncare il log per il database diventi operativa.

istruzione

1 Eseguire il comando "TRUNCATE LOG mylog CON TRUNCATE_ONLY." Questo comando può essere utilizzato solo se il database ha un modello di recupero di "Full" o "di massa registrato." Se il modello di recupero del database impostato su "Simple", non si avrà mai questo errore verificarsi perché non si dispone di alcun file di registro.

2 Accendere il modello di recupero di "Simple", se si utilizza SQL Server 2008 e visualizzato il seguente messaggio di errore dopo l'esecuzione del comando "TRUNCATE":
? Msg 155, livello 15, Stato 1, linea 1
'TRUNCATE_ONLY' non è un opzione di backup riconosciuta.

Questa operazione svuoterà i file di log che sono pieni; cancellando in tal modo tutti i dati delle transazioni non impegnate nei registri. Il comando "TRONCAMENTO" cancella anche i registri esistenti.
Il comando per cambiare il modello di recupero di "Simple" è "ALTER DATABASE SET myDB recupero semplice" dove "myDB" è il nome del database.

3 Ingannare il database a fare una copia di backup senza perdere i dati di log eseguendo il comando di backup su un dispositivo nullo.
BACKUP LOG myDB TO DISK = 'NUL:'

Questo comando esegue un backup del file di registro senza realmente salvare i dati. Il database di SQL Server si rende conto che una copia di backup del file di registro ha avuto luogo e la modalità di recupero viene sollevato. Questo non risolve il problema del perché il database è andato in modalità di recupero, in primo luogo, ma permette al DBA di recuperare il database senza alcuna perdita di dati.