清除SQL SERVER日志的过程
本帖最后由 * 探索者* 于 2011-3-21 15:23 编辑有时候,sqlserver的日志文件会膨胀得十分巨大
仅仅用企业管理器的收缩数据库方法,无法让其变小
这时候,下面的语句,就可以解决这个问题
Use master go
declare @dbname varchar(50)
declare temp_cur cursor scroll for select name from sysdatabases
open temp_cur fetch first from temp_cur into @dbname
while @@fetch_status =0
begin exec ('backup log ['+@dbname+'] with no_log')
exec ('dbcc shrinkdatabase(['+@dbname+'])')
exec ('dbcc checkcatalog (['+@dbname+'])')
exec ('dump transaction ['+@dbname+'] with no_log')
fetch next from temp_cur into @dbname
end
close temp_cur
deallocate temp_cur
将上述语句复制到查询分析器中执行,片刻之后,所有数据库的日志文件都被缩小到只有1M 兄弟是SQL专家?我当年学这个的时候,老师教得实在差,幸亏SQL语言比较口语化,比较好理解。 话说这个本质是删除以前的日志文件吧。 本周六考数据库工程师的飘过。 哈哈,其实刚刚是没想到地方存,就发这里存一下
页:
[1]