Posso eliminare il file di log delle transazioni di SQL Server?
Non possiamo eliminare il file di registro delle transazioni primario, ma possiamo eliminare i file di registro secondari in SQL Server.
A volte possiamo creare un secondo file di registro su un altro disco come soluzione alternativa perché il file di registro è pieno.
Se non eliminiamo questi file di registro secondari temporanei nel tempo, il numero di file di registro aumenterà.
Quando abbiamo spazio libero sul disco in cui si trova il primo file di registro, o quando spostiamo questo primo file di registro su un altro disco con spazio sufficiente, possiamo eliminare questi file di registro secondari temporanei.
Per vedere come viene aggiunto un secondo file di registro al database, si consiglia di leggere l’articolo “Come aggiungere il secondo file di registro al database”.
Se il modello di ripristino del database è il modello di ripristino completo, ti consiglio di eseguire il backup del log delle transazioni. Quindi, il file di log delle transazioni viene troncato automaticamente dopo il backup del log e ciò impedisce al log delle transazioni di crescere troppo.
Si consiglia di leggere i seguenti articoli per informazioni dettagliate sui modelli di recupero e log delle transazioni.
“Che cosa è Database Recovery Model”,
“Che cosa è SQL Server Transaction Log”,
“Come ridurre SQL Server Transaction Log”
Vuoto File di log delle transazioni secondario Prima di rimuovere
Dopo il backup del log delle transazioni, abbiamo bisogno di ridurre il file di log che vogliamo eliminare con opzione vuota.
In primo luogo facciamo clic destro sul database e fare clic su Attività-> Shrink-> File.
Selezioniamo l’opzione di registro dalla sezione Tipo di file come mostrato di seguito.
Scegliamo il file che vogliamo ridurre dal nome del file.
Nella sezione Azione Riduci, selezioniamo anche “File vuoto migrando i dati ad altri file nello stesso filegroup”.
In questo modo siamo in grado di trasferire i dati nel file di registro agli altri file di registro.
Prima di fare clic su Ok, prendiamo lo script facendo clic su “Script” in alto a sinistra. Questo produrrà uno script come il seguente.
1
2
3
4
|
UTILIZZARE
VAI
DBCC SHRINKFILE (N’TestDB_log2′ , EMPTYFILE)
VAI
|
Rimuovere Secondaria File di Registro delle Transazioni
fare clic Destro sul database e fare clic su Proprietà.
Vai alla scheda ” File “sul lato sinistro e seleziona il file di registro che desideri eliminare dalla sezione” file di database ” e fai clic sul pulsante Rimuovi in basso a destra. Infine, fare clic su “Script” sul lato superiore per ottenere lo script remove secondary log file.
Questo produrrà uno script come il seguente.
1
2
3
4
|
UTILIZZARE
VAI
ALTER DATABASE RIMUOVERE FILE
VAI
|
È possibile rimuovere il file di log con la combinazione di questi due script come segue.
1
2
3
4
5
6
|
UTILIZZARE
VAI
DBCC SHRINKFILE (N’TestDB_log2′ , EMPTYFILE)
VAI
ALTER DATABASE RIMUOVERE FILE
VAI
|
Dopo la rimozione del file di registro secondario, può sembrare che non è stato rimosso dal database per un po’. Non ti preoccupare, questo è normale. Tornerà allo stato normale dopo un po’.
Author: dbtut
We are a team with over 10 years of database management and BI experience. Our Expertises: Oracle, SQL Server, PostgreSQL, MySQL, MongoDB, Elasticsearch, Kibana, Grafana.