sqlserver数据库日志文件log.ldf文件占用过大清除的办法
sqlserver数据库日志文件log.ldf文件占用过大清除的办法技术交流。
·
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服务
,才能进⾏删除。
更多推荐
已为社区贡献1条内容
所有评论(0)