收缩数据库日志文件(转贴)

本文介绍了一种有效的方法来收缩SQL Server中特别大的数据库日志文件。首先通过DUMP TRANSACTION清空日志,接着使用BACKUP LOG截断事务日志,并执行DBCC SHRINKDATABASE来缩小数据库文件大小,最后设置自动收缩选项。操作前建议备份数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ExpandedBlockStart.gif 1 收缩特别大的数据库日志文件,只需把 DBname 换成你需要收缩的数据库就可以了.
 2 建议先备份数据库。
 3 
 4 declare @dbname sysname
 5 set @dbname='dbname'
 6 --1.清空日志
 7    exec('DUMP TRANSACTION ['+@dbname+'] WITH   NO_LOG')
 8 
 9 --2.截断事务日志:
10    exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG')
11 
12   --3.收缩数据库文件(如果不压缩,数据库的文件不会减小
13   exec('DBCC SHRINKDATABASE(['+@dbname+'])')
14 
15  --4.设置自动收缩
16    exec('EXEC sp_dboption '''+@dbname+''',''autoshrink'',''TRUE''')
收缩特别大的数据库日志文件,只需把 DBname 换成你需要收缩的数据库就可以了.
建议先备份数据库。

declare @dbname sysname
set @dbname='dbname'
--1.清空日志
   exec('DUMP TRANSACTION ['+@dbname+'] WITH   NO_LOG')

--2.截断事务日志:
   exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG')

  --3.收缩数据库文件(如果不压缩,数据库的文件不会减小
  exec('DBCC SHRINKDATABASE(['+@dbname+'])')

 --4.设置自动收缩
   exec('EXEC sp_dboption '''+@dbname+''',''autoshrink'',''TRUE''')

转载于:https://www.cnblogs.com/redfox241/archive/2008/08/15/1268650.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值