Domanda

Così la nostra SQL Server 2000 è mi dà l'errore "Il file di log del database è completo.Eseguire il backup del log delle transazioni del database per liberare spazio di log."

Come posso fare per correggere questo senza cancellare il registro come alcuni altri siti menzionati?

Informazioni Aggiuntive:Abilitare l'aumento automatico è attivato in crescita del 10% e si ristretto a 40MB.

È stato utile?

Soluzione

Scott, come avete indovinato:il troncamento del log è una brutta mossa, se vi preoccupate per i vostri dati.

Il seguente, gratuito, video, vi aiuterà a vedere esattamente cosa sta succedendo e vi mostrerà come risolvere il problema senza il troncamento del log.(Questi video anche spiegare perché è così pericoloso hack e perché è giusto cercare un'altra soluzione.)

Insieme questi video vi aiuterà a capire esattamente cosa sta succedendo e vi mostrerà se si desidera passare a recupero SEMPLICE, o guardare in realtà cambiare la vostra routine di backup.Ci sono anche altri come " un video che vi mostrerà esattamente come impostare il backup per garantire la disponibilità e la gestione di file di log di dimensionamento e di crescita.

Altri suggerimenti

Solo vuoto, è:

backup log <dbname> with truncate_only  

Per salvarlo da qualche parte:

backup log <dbname> to disk='c:\somefile.bak'

Se non si ha realmente bisogno transazionale storia, provare a impostare la modalità di recupero del database per semplice.

etere di backup registri del database regolarmente, se avete bisogno di recuperare fino al minuto o fare altre cose divertenti come la distribuzione dei log in futuro, o impostare il database in modalità semplice e compattare il file di dati.

NON copiare, rinominare o eliminare il .file ldf questo si romperà il tuo database e dopo aver recuperare da questo è possibile disporre di dati in uno stato incoerente che rende non valido.

Non credo rinominare o spostare il file di log lavoro mentre il database è online.

Cosa più semplice da fare, IMO, è aprire le proprietà per il database e cambiare Modello di Recupero Semplice.quindi compattare il database e poi tornare indietro e impostare il DB a Pieno Recoery Modello (o qualunque sia il modello che vi serve).

Cambiare la modalità di registrazione forze di SQL Server per impostare un checkpoint nel database, dopo di che la compattazione del database di liberare l'eccesso di spazio.

Il mio amico che di fronte a questo errore in passato consiglia:

Provare

  • Il backup del DB.Il piano di manutenzione comprende il troncamento di questi file.
  • Anche provare a cambiare la "modalità di recupero" per il DB Semplice (invece di Completa per esempio)

Causa:Il log delle transazioni si gonfia a causa di eventi registrati (Forse hai un numero di transazioni e di errore viene eseguito il rollback..o un improvviso picco di transazioni sul server )

Beh, si potrebbe prendere una copia del log delle transazioni, quindi troncare il file di log, che è ciò che suggerisce il messaggio di errore.

Se lo spazio su disco è pieno e non è possibile copiare il log di un'altra macchina in rete, quindi collegare un'unità via USB e copiare fuori in quel modo.

Hai la risposta alla tua domanda:Il Backup del registro, per poi essere ridotto.Fare un piano di manutenzione per effettuare regolarmente il backup del database e non dimenticare di selezionare la voce "Backup del log delle transazioni".In questo modo potrete mantenere le cose in piccolo.

Se si tratta di un non ambiente di produzione usa

dump tran <db_name> with no_log;

Una volta che questo è completato compattare il file di log per liberare spazio su disco.Infine interruttore di modalità di recupero del database per semplice.

Non appena si prende un backup completo del database e il database non utilizza il modello di recupero Semplice, SQL Server, tiene un registro completo di tutte le transazioni mai eseguita sul database.Questo fa in modo che in caso di guasto catastrofico in cui si perdono i file di dati, è possibile ripristinare il punto di errore, eseguire il backup del registro e, una volta ripristinato un vecchio backup dei dati, ripristino il registro di rigiocare la perdita di transazioni.

Per evitare questa costruzione, è necessario eseguire il backup del log delle transazioni.O, si può spezzare la catena nel punto corrente utilizzando il TRUNCATE_ONLY o NO_LOG opzioni di BACKUP del REGISTRO.

Se non avete bisogno di questa funzione, impostare il modello di recupero Semplice.

Mio caro amico, è molto importante per un amministratore di controllare il suo file di log abbastanza frequentemente.Perché se non do molta attenzione verso di essa da qualche giorno si sta andando a dare questo errore.

Per questo scopo è necessario prendere periodicamente il backup in modo che il log file non si sarebbe di fronte ad un errore.

Altri poi questo al di sopra di una suggestione sono abbastanza di destra.

Rinominare esso.ad esempio:
old-log-16-09-08.registro

Quindi SQL server è possibile utilizzare uno nuovo vuoto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top