sql server 清理数据库日志

一、命令操作

USE
[master] GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE GO USE [数据库名] GO DBCC SHRINKFILE (N'[数据库日志文件名称]' , 0,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE [数据库名] SET RECOVERY FULL GO --上面的“数据库日志文件名称”用下面SQL的查询结果 --查询指定数据库的日志文件名称 USE [数据库名] GO SELECT name FROM SYS.database_files WHERE type_desc='LOG'

源文件:https://www.cnblogs.com/rrxc/p/4554494.html

自己亲测SQL SERVER 2008R2 和 SQL SERVER 2012有效,其他版本未测试

二、可视化编辑器操作

1. 将恢复模式改成“简单” :右键数据库 - 属性,切换到选项,将恢复模式修改为简单。

2. 收缩日志 :右键数据库 - 任务 - 收缩 - 文件

 

 3.将恢复模式改成“完整” 

三、现场在对SQL SERVER 数据库收缩时报超时错误:已超过了锁请求超时时段(Microsoft sql server,错误 1222)

解决:在图形化界面有时就这样,可以在图形化界面生成脚本,然后在查询分析器里执行脚本就不会有死锁超时的问题

原文地址:https://www.cnblogs.com/luna-hehe/p/10553856.html