今天按經常使用方法收縮一個測試用的數據庫日誌,發現無法收縮!
- USE [dbname]
- GO
-
- ALTER DATABASE [dbname] SET RECOVERY SIMPLE WITH NO_WAIT
- GO
- DBCC SHRINKFILE (N'dbname_log' , 0, TRUNCATEONLY)
- GO
- DBCC SHRINKDATABASE(N'dbname' )
- GO
日誌大小仍是同樣。
- DBCC OPENTRAN (dbname)
- CHECKPOINT
- EXEC sp_repldone @xactid = NULL,@xact_segno = NULL,@numtrans = 0,@time = 0,@reset = 1
如今查看虛擬日誌文件,發現有不少,而且都處於活動狀態
最重要的語句居然忘了,這能夠查看日誌空間的重複使用正在等待最後一個檢查點的描述.。發現是REPLICATION
- SELECT name,log_reuse_wait_desc FROM sys.databases where name='dbname'
這個數據庫以前有做爲事物同步過,可是都刪除了。分發庫也不存在了,如今居然還有日誌在等待?!
- EXEC sp_removedbreplication dbname
再看日誌重用狀態,正常了!看來有效!sql
![](http://static.javashuo.com/static/loading.gif)
在收縮數據庫,查看已經收縮了!其餘也恢復正常!數據庫
- DBCC SHRINKFILE (N'dbname_log' , 0, TRUNCATEONLY)
- GO
- DBCC LOGINFO
- GO
- DBCC OPENTRAN (dbname)
- GO
![](http://static.javashuo.com/static/loading.gif)
http://blog.csdn.net/kk185800961/article/details/41865073