Non sono un esperto di SQL, e mi viene ricordato il fatto ogni volta che ho bisogno di fare qualcosa oltre le basi. Ho un database di prova che non è di grandi dimensioni, ma il log delle transazioni lo è sicuramente. Come faccio a cancellare il log delle transazioni?
Ecco un modo semplice e molto inelegante & potenzialmente pericoloso.
Immagino che tu non stia facendo i backup dei log. (Che troncano il log). Il mio consiglio è di cambiare il modello di recupero da completo a semplice. Questo eviterà che il log si gonfi.
Se non usate i registri delle transazioni per i ripristini (cioè fate sempre e solo backup completi), potete impostare il Recovery Mode su "Simple", e il registro delle transazioni si ridurrà molto presto e non si riempirà più.
Se state usando SQL 7 o 2000, potete abilitare "truncate log on checkpoint" nella scheda delle opzioni del database. Questo ha lo stesso effetto.
Questo non è raccomandato in ambienti di produzione, ovviamente, poiché non sarete in grado di ripristinare un punto nel tempo.
Per troncare il file di log:
Per ridurre il file di log:
Backup del log [DBName] con No_Log
Restringere il database
Usando Enterprise manager :- Cliccare con il tasto destro del mouse sul database, Tutte le attività, Restringi database, File, Seleziona file di log, OK.
Usando T-SQL :- Dbcc Shrinkfile ([Log_Logical_Name])
Puoi trovare il nome logico del file di log eseguendo sp_helpdb o guardando nelle proprietà del database in Enterprise Manager.