2017-04-18 93 views
0

我有2個數據庫。我創建了一個邏輯,首先我使用Truncate &刪除Database2中的所有數據,然後使用INSERT INTO將所有數據從Database1複製到Database2。SQL事務日誌越來越大

此過程每兩天運行一次。 Database1的大小約爲1 GB。

這一切都很好,但現在突然間我開始用盡了空間。我的C:驅動器已經滿了&我發現的原因是Database2的事務日誌。每次我做了上面提到的使用MVC網站應用程序運行的進程時,事務日誌增加了&。

我可以承受從Database2丟失的數據不希望事務日誌。 有沒有解決方法?

+0

爲什麼不避免交易都在一起,只是備份DB1和重視它作爲DB2? – scsimon

回答

1

一種選擇是收縮你的日誌文件。

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 

延伸閱讀:How do you clear the SQL Server transaction log?