随着时间、数据的增加,日志文件的体型也越来越庞大,我们如何给她减肥呢?:
下面语句只需把 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''')
下面语句只需把 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''')