Site icon Mr. 沙先生

SQL DBCC shrinkfile error – Msg 8985 清除交易紀錄失敗

之前寫的一篇[MSSQL]DB log減肥、資料表佔用空間筆記,在今天的一台 SQL 2000 出現了一些狀況

 

執行 DBCC SHRINKFILE ([DB_NAME],size) 之後出現以下問題

 

伺服器: 訊息 8985,層級 16,狀態 1,行 1

無法將檔案 ‘DB_Name_log’ 放到 sysfiles。

DBCC 的執行已經完成。如果 DBCC 印出錯誤訊息,請聯絡您的系統管理員。

 

 

查了一下 sysfiles 發現 filename 跟 DB_name 不同,所以使用 DB_NAME 造成無法清除 LDF

Select DB_NAME From sysfiles

 

 

 

 

既然是這樣那就用 fileid 來當條件一樣可以清除交易紀錄

DBCC SHRINKFILE (2,200)

 

 

註:  DBCC SHRINKFILE ([Fileid],size)

 

 

參考資料

http://www.karaszi.com/SQLServer/info_dont_shrink.asp

Exit mobile version