[SQL]Sql Server 清除 LOG 檔

摘要:[SQL]Sql Server 清除 LOG 檔

SQL 2005:

SELECT name,physical_name FROM sys.database_files
backup log dbname with truncate_only
dbcc shrinkdatabase (dbname,truncateonly)
dbcc shrinkfile (dbname_log,1)

SQL 2008:

--01 將資料庫 Northwind 切換為「簡單復原模式」,便會自動截斷交易記錄。
ALTER DATABASE NorthwindSET RECOVERY SIMPLEGO
--02 若決定要備份交易記錄檔(*.ldf),再將資料庫 Northwind 切換回「完整復原模式」
ALTER DATABASE NorthwindSET RECOVERY FULLGO


參考文件: http://support.microsoft.com/default.aspx?scid=kb;zh-tw;256650
http://forums.microsoft.com/TechNet-CHT/ShowPost.aspx?PostID=1109297&SiteID=23
http://sharedderrick.blogspot.com/2009/03/transaction-log-for-database-is-full.html
來硬的
1.EXEC sp_detach_db @dbname = 'dbname' --卸除DB
2.用檔案總管直接刪除該dbname_log.ldf檔
3.EXEC sp_attach_single_file_db @dbname = 'dbname', @physname = 'C:\dbname.MDF' --重新附加,自動產生新LOG檔