一、命令操作
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)
解决:在图形化界面有时就这样,可以在图形化界面生成脚本,然后在查询分析器里执行脚本就不会有死锁超时的问题