有一个项目使用了sql server2012版本的数据库,一开始可能没有注意到日志文件,使得日志文件越来越大,当使用sql2008的收缩文件的方法进行操作时,问题出现了。
DUMP TRANSACTION BigData WITH NO_LOG BACKUP LOG BigData WITH NO_LOG
使用上面的方法并不能解决问题,因为2012已经不支持transaction了。
通过百度搜索了大量前人的解决方式,最终找到一个解决的办法:
通过select log_reuse_wait_desc from sys.databases where name='DBNAME'确认log状态
查询到是LOG_BACKUP,所以我的解决办法就
USE [zezx56com_db_2015]
GO
ALTER DATABASE zezx56com_db_2015 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE zezx56com_db_2015 SET RECOVERY SIMPLE --简单模式
GO
USE zezx56com_db_2015
GO
DBCC SHRINKFILE (N'zezx56com_db_2015_Log' , 11, TRUNCATEONLY)
GO
USE zezx56com_db_2015
GO
ALTER DATABASE zezx56com_db_2015 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE zezx56com_db_2015 SET RECOVERY FULL --还原为完全模式
GO
最后再运行下收缩工具即可
最新评论