sqlserver數據庫日志文件log.ldf文件占用過大清除的辦法
技術交流 http://idea.coderyj.com/
1.清除數據庫日志的方法
--- 查看數據庫日志文件名
USE cs
GO
SELECT file_id, name,size,* FROM sys.database_files;
ps 可以看到其中
name
字段為數據庫日志名稱"數據庫日志名稱",size是日志大小。接下來就可以執行清理日志操作。值得注意的是,清理日志必須先將數據庫轉成簡單模式,清理后再將數據庫置為完全模式,具體的語句如下
- 清除日志
--- 清除數據庫日志
USE [master]
GO
ALTER DATABASE [數據庫名] SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE [數據庫名] SET RECOVERY SIMPLE --簡單模式
GO
USE [數據庫名]
GO
DBCC SHRINKFILE ('bydatadb_log' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE [數據庫名] SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE [數據庫名] SET RECOVERY FULL --還原為完全模式
GO
2.數據庫終端操作
- 打開數據庫客戶端,選擇具體數據庫
- 點擊數據庫,右鍵選擇【屬性】
- 在彈出窗?左側點擊【選項】,將【恢復模式】改為【簡單】,點擊確定保存
- 點擊數據庫,右鍵選擇【任務】-【收縮】-【?件】
- 在彈出窗?中,【?件類型】選擇【?志】,點擊確定即可
- 點擊數據庫,右鍵選擇【屬性】
- 在彈出窗?左側點擊【選項】,將【恢復模式】恢復為【完成】,點擊確定保存
3.刪除?志?件
- 直接刪除?志?件。此種?式可能會遇到“當前?志正在被SQL Server使??法刪除”的問題,此時,需要
停?SQL Server服務
,才能進?刪除。