﻿# 資料庫 'xxxx' 的記錄檔檔案已滿。請備份資料庫的交易記錄來釋放部分的記錄檔空間

資料庫用一段時間後，尤其是流量比較大的網站或應用程式，會造成資料庫的交易檔的容量快速增加，所以有可能會遇到以下這個錯誤訊息：

> **\[Microsoft\]\[ODBC SQL Server Driver\]\[SQL Server\]資料庫 'xxxxx' 的記錄檔檔案已滿。請備份資料庫的交易記錄來釋放部分的記錄檔空間。 (37000)**

因為你的 SQL Server 資料庫每個 DML 的動作都會做 Log，當 Log 滿了就會告訴你，就像是 OS 的事件檢視器一樣，Log 滿了它一樣也會通知你。

解決方法就是將交易檔清空即可，執行下列 SQL 指令：

> BACKUP LOG tempdb WITH TRUNCATE\_ONLY
> 
> DBCC SHRINKDATABASE (tempdb)

如果交易檔對你來說很重要，建議你先備份，以上的指令雖然是 "BACKUP LOG" 但是後面家了 "WITH TRUNCATE\_ONLY" 就是「直接刪除」的意思啦，並沒有說要備份到哪裡去喔！
