删除sql server大容量日志的方法
--后面的步骤有一定危险,你可以可以选择是否应该这些步骤
--5.分离数据库
| if @bkdatabase=1 begin if isnull(@bkfname,')=' set @bkfname=@dbname+'_'+convert(varchar,getdate(),112) +replace(convert(varchar,getdate(),108),':',') select 提示信息='备份数据库到SQL 默认备份目录,备份文件名:'+@bkfname exec('backup database ['+@dbname+'] to disk=''+@bkfname+'') end |
--进行分离处理
| create table #t(fname nvarchar(260),type int) exec('insert into #t select filename,type=status&0x40 from ['+@dbname+']..sysfiles') exec('sp_detach_db ''+@dbname+'') --删除日志文件 declare @fname nvarchar(260),@s varchar(8000) declare tb cursor local for select fname from #t where type=64 open tb fetch next from tb into @fname while @@fetch_status=0 begin set @s='del "'+rtrim(@fname)+'"' exec master..xp_cmdshell @s,no_output fetch next from tb into @fname end close tb deallocate tb |
--附加数据库
| set @s=' declare tb cursor local for select fname from #t where type=0 open tb fetch next from tb into @fname while @@fetch_status=0 begin set @s=@s+',''+rtrim(@fname)+'' fetch next from tb into @fname end close tb deallocate tb exec('sp_attach_single_file_db ''+@dbname+''+@s) go |
(责任编辑:IORI)
阅读次数:
上一篇:企业该怎样做好服务器采购准备 下一篇:融合网络在企业中应用只是时间问题



评论加载中…
