| 以下為引用的內(nèi)容: 
 -----set nocount on
 declare @logicalfilename sysname,
 @maxminutes int,
 @newsize int
 use     marias
 -- 要操作的數(shù)據(jù)庫(kù)名
 select  @logicalfilename = 'marias_log'
 -- 日志文件名
 @maxminutes = 10,
 -- limit on time allowed to wrap log.
 @newsize = 100
 -- 你想設(shè)定的日志文件的大小(m)
 -- setup / initializedeclare @originalsize int
 select @originalsize = size
 from sysfiles
 where name = @logicalfilename
 select 'original size of ' + db_name() + ' log is ' +
 convert(varchar(30),@originalsize) + ' 8k pages or ' +
 convert(varchar(30),(@originalsize*8/1024)) + 'mb'
 from sysfiles
 where name = @logicalfilename
 create table dummytrans
 (dummycolumn char (8000) not null)
 declare @counter   int,
 @starttime datetime,
 @trunclog  varchar(255)
 select  @starttime = getdate(),
 @trunclog = 'backup log '
 + db_name() + ' with truncate_only'
 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)
 and (@originalsize * 8 /1024) > @newsize
 begin -- outer loop.
 select @counter = 0
 while  ((@counter < @originalsize / 16)
 and (@counter < 50000))
 begin -- update
 insert dummytrans values ('fill log')
 delete dummytrans
 select @counter = @counter + 1
 end
 exec (@trunclog)
 end
 select 'final size of ' + db_name() + ' log is ' +
 convert(varchar(30),size) + ' 8k pages or ' +
 convert(varchar(30),(size*8/1024)) + 'mb'
 from sysfiles
 where name = @logicalfilename
 drop table dummytrans
 set nocount off
 |