MS SQL ldf檔太大處理
方法:截斷交易記錄檔->壓縮交易記錄檔 1、截斷交易記錄檔:將資料庫「復原模式」改為「簡單」,即可即斷交易記檔 關於復原模式的官方說明: http://msdn.microsoft.com/zh-tw/library/ms189275%28v=sql.105%29.aspx 可以從 SQL Server Management Studio 在資料庫上按右鍵->「屬性」->「選項」->「復原模式」進行修改, 或是直接執行以下指令修改。 ALTER DATABASE 資料庫名稱 SET RECOVERY SIMPLE 2、查 ldf 檔的邏輯名稱(name) 執行 SP_HELPDB 資料庫名稱 或 use 資料庫名稱 GO select * from sys.database_files 此時可查得 ldf 檔對應到的邏輯名稱(name),一般會是"資料庫名稱_log", 但若之前是從備份資料還原到不同名稱的資料庫,邏輯名稱(name)就可能不一樣。 3、壓縮交易記錄檔 執行以下指令後,應該可以發現ldf的檔案大小縮小成2MB use 資料庫名稱 GO DBCC SHRINKFILE('ldf的邏輯名稱',2) 4、將資料庫「復原模式」改回「完整」執行 ALTER DATABASE 資料庫名稱 SET RECOVERY FULL 備註1:mdf 和 ldf 檔的邏輯名稱(name)修改指令如下 alter database 資料庫名稱 modify file(name=舊mdf的name, newname=新mdf的name) alter database 資料庫名稱 modify file(name=舊ldf的name, newname=新ldf的name) 備註2:經測試,將資料庫「復原模式」改成「簡單」,接著改回「完整」,最後再進行「壓縮交易記錄檔」的操作,似乎也是可行。 備註3:MS SQL 2005 以前的版本, 可以使用"BACKUP LOG 資料庫名稱 WITH NO_LOG" 或"BACKUP LOG 資料庫名稱 WITH TRUNCATE_ONLY"截斷交