Zi 字媒體
2017-07-25T20:27:27+00:00
SQL Server使用一段時間後,若未正常處理交易記錄檔(UserDB_log.ldf),通常之後可能會發生「資料庫記錄檔太大」
,有時導致空間不足,甚至系統當機。本篇記錄一下處理流程僅供參考。
整個流程步驟如下:
Step1.將資料庫復原模式切換為【簡單】模式。
Step2.進行記錄檔壓縮作業。
Step3.將資料庫復原模式切換回【完整】模式。
處理方式有二種:
方式一、使用Transact-SQL
USE UserDB;GO-- changing the database recovery model to simple.ALTER DATABASE UserDBSET RECOVERY SIMPLE;GO-- Shrink UserDB_log file to 20 MB.DBCC SHRINKFILE (UserDB_log, 20);GO-- changing the database recovery model to FULL.ALTER DATABASE UserDBSET RECOVERY FULL;GO
方式二、使用SSMS
下圖可看到log檔已成長至>20G
選擇資料庫>>右鍵>>屬性
選擇 "選項" 將資料庫復原模式切換為簡單模式
進行記錄檔壓縮作業
選擇資料庫>>右鍵 >>工作 >>壓縮
>>檔案
將檔案類型切換為>>記錄檔
選擇 >>釋放未使用的空間之前,先重新組織頁面 >>輸入壓縮後檔案大小;此處選 20MB
將資料庫復原模式切換回完整模式
確認檔案已壓縮為 20M
👉影片教學>https://itorz324.blogspot.com/2019/09/how-to-shrink-transaction-log-file-for.html
▼語法參考:
👉微軟SQL Server
2017 FILE_IDEX (Transact-SQL)
👉微軟文件庫1 sys.database_files (Transact-SQL)
👉微軟文件庫2 DBCC SHRINKFILE (Transact-SQL)
▼作業參考:
👉TakuiqBlog
👉dotblogsBlog
👉德瑞克Blog1
👉德瑞克Blog2
▼延伸閱讀:
👉
不能執行 SQL Server 2014 Configuration Manager 解決方式
👉
如何在 Oracle 的SQLPlus 中執行 SQL script檔?
👉
使用「dsquery Command」來查詢及匯出 AD使用者帳號
寫了
5860316篇文章,獲得
23313次喜歡