Sql-Server
在事務進行時收縮事務日誌
我在我的 SQL Server 2005(標準版)數據庫中導入了幾個 GB。
導入分為 4 個部分,每個部分在其自己的事務中。
您可以猜到,事務日誌文件非常大。我磁碟上的空間也有限,但應該適合數據。進行導入時,磁碟上的可用空間約為 2 GB。
在我的交易進行時縮小文件是否有效?也會有影響嗎?
您不必縮小日誌(即使文件更小),而是必須截斷日誌(即允許文件在內部重用,因此它不會從一開始就增長)。如何實現這一點取決於您的數據庫恢復模型。在簡單恢復模式下,截斷自動發生。在其他模型(FULL 或 BULK-LOGGED)下,截斷基本上發生在您成功執行 BACKUP LOG 語句時(我省略了一些細節)。因此,首先,弄清楚目標數據庫的恢復模式是什麼,請參閱查看或更改數據庫的恢復模式。
如需深入了解,請參閱如何縮小 SQL Server 日誌。文章解釋了日誌的循環性質以及為什麼經常簡單地發出 DBCC SHRINKFILE 不會導致文件減少(閱讀文章以了解原因)。