lunedì , dicembre 11 2017
Ultime Notizie
Home / Programmazione / SQL Server Transaction Log

SQL Server Transaction Log

Un database SQL Server può diventare, in alcuni casi, terribilmente grande. Questo non tanto a causa dei dati immagazzinati al suo interno, ma a causa del log delle transazioni effettuate.

Questi log sono utili nel caso di un database corrotto del quale non si ha una copia di backup molto recente.

In questo caso la presenza dei Transaction Log diventa fondamentale per recuperare la consistenza del DB e soprattutto i dati.

D’altra parte questi log possono diventare veramente ingombranti se l’auto-cancellazione integrata in SQL Server non funziona per qualche motivo questi file di log possono arrivare ad avere dimensioni consistenti fino anche a bloccare le operazioni sul DB stesso (se si esaurisce lo spazio su disco)

Vediamo la procedura per rimuovere manualmente questi file.

Procedura 1 – SQL Server Management Studio

Per Prima cosa aprire SQL Server Management Studio:

Fatto il login, tasto destro del mouse sul DB di cui dobbiamo svuotare i log delle transazioni, e clicchiamo su Proprietà.

Per prima cosa dobbiamo cambiare il Recovery Mode da Full a Simple:

Non preoccupatevi se sembra che ci impieghi molto tempo, è normale e bisogna solo attendere che la procedura termini senza ulteriori interventi.

Una volta finito, si torna indietro, sempre tasto destro del mouse sul DB e questa volta andiamo su Tasks -> Shrink -> Files

Selezionare la dimensione minima desiderata (in genere 100MB va più che bene) e premere OK.

Anche in questo caso la procedura può durare molto tempo a seconda delle dimensioni del file, aspettate che finisca senza ulteriori interventi.

Una volta terminata la procedura, aprire di nuovo le Proprietà del DB e reimpostare il Recovery da Simple a Full.

 

Procedura 2 – SQL Query

USE ″YourDBName″;
 ALTER DATABASE ″YourDBName″ SET RECOVERY SIMPLE;
 DBCC SHRINKFILE (″YourDBName″, ″Desired_size″);
 ALTER DATABASE ″YourDBName″ SET RECOVERY FULL;

Enjoy!

 

Info Paolo Daniele

Ingegnere delle Telecomunicazioni, appassionato di informatica fin da piccolo ho trasformato la passione in lavoro. Con il PHP faccio tutto (o quasi…) ma non disprezzo altri linguaggi all’occorrenza. Se vi piace il mio sito, o vi è utile, o vi sto simpatico, offritemi una birra!

Ti potrebbe interessare

Web Server & Load Balancer

Ciao Ragazzi, ritorno parlando Web Server e Load Balancer. Per chi è pratico può già …

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *