国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

有關日志壓縮

2024-07-21 02:08:22
字體:
來源:轉載
供稿:網友

set quoted_identifier off
go
set ansi_nulls off
go


create procedure strink_logspace
 as
   set nocount on
   declare @logicalfilename sysname,
           @maxminutes int,
           @newsize int

   select  @logicalfilename = rtrim(name),
           @maxminutes = 10,      -- 最大執行時間
           @newsize    = 10       -- 最小空間
   from sysfiles where status & 0x40 = 0x40

   -- setup / initialize
   declare @originalsize int
   select @originalsize = size -- in 8k pages
     from sysfiles
     where name = @logicalfilename

   select db_name() +'日志原始大小' + 
           convert(varchar(30),@originalsize) + ' pages/ 8k 或 ' +
           convert(varchar(30),(@originalsize*8/1024)) + 'mb'
     from sysfiles
     where name = @logicalfilename

   create table dummytrans
     (dummycolumn char (8000) not null)

   -- wrap log and truncate it.
   declare @counter   int,
           @starttime datetime,
           @trunclog  varchar(255)
   select  @starttime = getdate(),
           @trunclog = 'backup log ['+ db_name() + '] with truncate_only'
   -- try an initial shrink.
   dbcc shrinkfile (@logicalfilename, @newsize)

   exec (@trunclog)

   -- wrap the log if necessary.
   while     @maxminutes > datediff (mi, @starttime, getdate()) -- time has not expired
         and @originalsize = (select size from sysfiles where name = @logicalfilename)  -- the log has not shrunk   
         and (@originalsize * 8 /1024) > @newsize  -- the value passed in for new size is smaller than the current size.
     begin -- outer loop.
       select @counter = 0
       while  ((@counter < @originalsize / 16) and (@counter < 50000))
         begin -- update
           insert dummytrans values ('fill log')  -- because it is a char field it inserts 8000 bytes.
           delete dummytrans
           select @counter = @counter + 1
         end   -- update
       exec (@trunclog)  -- see if a trunc of the log shrinks it.
     end   -- outer loop

   dbcc shrinkfile (@logicalfilename, @newsize)

   select db_name() +'日志最后大小' +
           convert(varchar(30),size) + ' pages/ 8k 或  ' +
           convert(varchar(30),(size*8/1024)) + 'mb'
     from sysfiles
     where name = @logicalfilename
   drop table dummytrans
   print '*** 數據庫日志壓縮成功 ***'
   set nocount off

go
set quoted_identifier off
go
set ansi_nulls on
go

--used
exec strink_logspace
國內最大的酷站演示中心!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天台县| 车致| 麻江县| 麻阳| 遂川县| 定州市| 鄂尔多斯市| 长丰县| 永嘉县| 阿克苏市| 恩平市| 定日县| 焦作市| 怀化市| 新和县| 鄢陵县| 略阳县| 安图县| 宁陕县| 敦煌市| 佛教| 中江县| 秭归县| 将乐县| 桂林市| 新乡县| 黄浦区| 鄯善县| 彝良县| 霍州市| 池州市| 布尔津县| 武威市| 江陵县| 天等县| 遂昌县| 青州市| 台东县| 和田县| 昭通市| 孝义市|