1. 程式人生 > >SQL SERVER 2014事務日誌不能收縮的解決辦法

SQL SERVER 2014事務日誌不能收縮的解決辦法

問題,使用了SQL SERVER 2014的記憶體資料庫,事務日誌暴增,收縮後文件大小沒有發生變化。使用網上的分離後刪除日誌檔案的辦法後,無法重新附加資料庫。

解決辦法:

使用 DBCC SHRINKFILE 

語法

DBCC SHRINKFILE 
(
    { file_name | file_id } 
    { [ , EMPTYFILE ] 
    | [ [ , target_size ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ]
    }
)
[ WITH NO_INFOMSGS ]

原理:

1.備份

2.設定資料庫為簡單模式

//3.執行 DBCC SHRINKFILE (N

'dbname_log' , 0, NOTRUNCATE

4.執行 DBCC SHRINKFILE (N'dbname_log' , 0, TRUNCATEONLY

5.設定資料庫為完全模式

參考:https://msdn.microsoft.com/zh-cn/library/ms189493.aspx

疑惑:第三步是否可以去掉呢,理論上是可以的。但實際操作中好像必須要第三步才可以。