2017-04-18 3 views
0

Ich habe 2 Datenbanken. Ich habe eine Logik erstellt, wo ich zuerst alle Daten von Database2 mit Truncate & lösche, dann kopiere alle Daten von Database1 zu Database2 mit INSERT INTO.SQL Transaction Logs werden größer

Dieser Prozess wird alle 2 Tage ausgeführt. Die Größe von Database1 beträgt ungefähr 1 GB.

Das war alles gut, aber jetzt begann plötzlich der Platz zu knapp. Mein C: Laufwerk wurde gerade voll & Der Grund, den ich fand, war Transaktionsprotokoll von Database2. Jedes Mal, wenn ich den oben genannten Prozess, der mit MVC Website-Anwendung ausgeführt wird, läuft das Transaktionsprotokoll erhöht & Erhöhung.

Ich kann es mir leisten, Daten von Database2 verlieren wollte nicht Transaktionsprotokolle. Gibt es dafür eine Lösung?

+0

Warum nicht Transaktionen vermeiden alle zusammen und nur Backup-DB1 und fügen Sie es als DB2? – scsimon

Antwort

1

Eine Option ist Ihre Log-Datei zu verkleinern.

USE YourDatabaseName; 
GO 
-- Truncate the log by changing the database recovery model to SIMPLE. 
ALTER DATABASE YourDatabaseName 
SET RECOVERY SIMPLE; 
GO 
-- Shrink the truncated log file to 1 MB. 
DBCC SHRINKFILE (YourDatabaseName_Log, 1); 
GO 
-- Reset the database recovery model. 
ALTER DATABASE YourDatabaseName 
SET RECOVERY FULL; 
GO 

Weiterführende Literatur: How do you clear the SQL Server transaction log?

Verwandte Themen