对于测试数据库,我有一个1GB的.LDF,我想缩小它。如果需要,我很乐意删除它的内容。
如何在Server 2000中做到这一点?
我尝试了以下几点,但没有取得很大的效果:
BACKUP LOG Database_TEST with truncate_only
DBCC SHRINKFILE (Database_TEST_Log, 1000)发布于 2013-12-10 13:30:53
第二次论证DBCC SHRINKFILE是目标大小,in MEGABYTES。所以,要把你的代码翻译成英语,你是在说:
“Server,请接受这个1GB文件,并将其缩小到1000 MB。 P.S.1000 MB =1GB。所以,不要做任何事情。”
您应该尝试一个较小的目标大小,例如:
DBCC SHRINKFILE (Database_TEST_Log, 1);如果文件似乎没有收缩,那么再次运行这些命令(或者发出一个CHECKPOINT,如果恢复模型是SIMPLE,则再次运行收缩命令)。
如果文件仍然没有缩小,这可能是因为有一个长期运行的事务。您可以对此数据库使用以下命令来找出这是什么:
DBCC OPENTRAN;当然,当您做像BACKUP WITH TRUNCATE_ONLY这样的事情时,我希望您不关心这个数据库,或者希望能够恢复到此操作之前的某个时间点,或者至少一旦您收缩了这个日志文件,您将恢复正确的日志管理和备份过程。另外,如果您将文件缩小到最小大小,下次当用户导致生成日志时,他们将不得不等待文件增长。对于日志文件来说尤其如此,因为日志文件不能像数据文件那样从即时文件初始化中受益,而且当自动增长的大小不合适和/或日志不在快速磁盘(如SSD)时,这可能特别令人讨厌。
请仔细阅读这个问题及其答案:
发布于 2013-12-10 14:15:06
也许您可以将测试数据库切换到简单的恢复模型?要将测试数据库恢复到某个时间点吗?
BOL:当数据库使用简单的恢复模型时,事务日志会被自动截断。如果必须从数据库中删除日志备份链,则切换到简单的恢复模型。
https://dba.stackexchange.com/questions/54776
复制相似问题