Qual è il comando per troncare un file di registro di SQL Server?
-
09-06-2019 - |
Domanda
Devo svuotare un file LDF prima di inviarlo a un collega.Come faccio a forzare SQL Server a troncare il registro?
Soluzione
se ricordo bene...nell'analizzatore di query o equivalente:
BACKUP LOG databasename WITH TRUNCATE_ONLY
DBCC SHRINKFILE ( databasename_Log, 1)
Altri suggerimenti
Nello studio direzionale:
- Non farlo in un ambiente live, ma per assicurarti di ridurre il più possibile il tuo db di sviluppo:
- Fare clic con il pulsante destro del mouse sul database, scegliere
Properties
, PoiOptions
. - Assicurati che "Modello di ripristino" sia impostato su "Semplice", non su "Completo"
- Fare clic su OK
- Fare clic con il pulsante destro del mouse sul database, scegliere
- Fare nuovamente clic con il pulsante destro del mouse sul database, scegliere
Tasks
->Shrink
->Files
- Cambia il tipo di file in "Registro"
- Fare clic su OK.
In alternativa, l'SQL per farlo:
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
DBCC SHRINKFILE (mydatabase_Log, 1)
Per SQL Server 2008, il comando è:
ALTER DATABASE ExampleDB SET RECOVERY SIMPLE
DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY)
Ciò ha ridotto il mio file di registro da 14 GB a 1 MB.
Per SQL 2008 è possibile eseguire il backup del registro nul
dispositivo:
BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10
E poi usa DBCC SHRINKFILE
per troncare il file di registro.
nome registro del registro di backup con truncate_only seguito da un comando dbcc Shrinkfile
Un'altra opzione è scollegare il database tramite Management Studio.Quindi è sufficiente eliminare il file di registro oppure rinominarlo ed eliminarlo in un secondo momento.
Tornando in Management Studio, collega nuovamente il database.Nella finestra di allegato rimuovere il file di registro dall'elenco dei file.
Il DB allega e crea un nuovo file di registro vuoto.Dopo aver controllato che tutto sia a posto, puoi eliminare il file di registro rinominato.
Probabilmente non dovresti usarlo per i database di produzione.