如何收缩MS SQL 2000数据库上的事务日志?

Ed *_*ber 5 sql-server sysadmin

我有几个数据库,其中事务日志(.LDF)比数据库文件(.MDF)大许多倍.

我该怎么做才能自动收缩它们或防止它们变得如此之大?

kri*_*tof 6

那应该做的

use master
go
dump transaction <YourDBName> with no_log
go
use <YourDBName>
go
DBCC SHRINKFILE (<YourDBNameLogFileName>, 100) -- where 100 is the size you may want to shrink it to in MB, change it to your needs
go
-- then you can call to check that all went fine
dbcc checkdb(<YourDBName>)
Run Code Online (Sandbox Code Playgroud)

一句警告

您只能在不需要适当备份策略的测试/开发数据库中使用它,因为转储日志会导致丢失事务历史记录.在实时系统中,您应该使用Cade Roux提取的解决方案