mirror环境下作shrinkfile不起作用
环境:XP3,SQLSERVER 2008R2。
已经为DB搭配好了mirror环境。
DB频繁出现事务日志不断增大,以致磁盘经常报警告。
比如:data只有300M,transcation log却有30G。
因为有mirror环境,我无法将DB直接转换成SIMPLE。
所以我只好在principal上直接作shrink,运行:
USE [db_name]
GO
DBCC SHRINKFILE (N'db_name_log' , 0, TRUNCATEONLY)
没有起到作用。
在作shrink之前我先作了一次FULL备份。shrink完全没有将LOG减少。
后来,在FULL备份后做一次transaction log备份,然后再shrink,这次倒有减少一点点了。
dbcc sqlperf('logspace');
log space的使用空间也从原来的99%降到4%。
可是log却还是很大,只是减少了几百M而已。为什么?
这个时候又该怎么做?
为什么FULL备份之后做SHRINK没有一点作用,反而是作了log备份后起到了一点点作用呢?