壓縮資料庫日記檔案

2021-04-12 17:27:32 字數 1942 閱讀 8012

set nocount on

declare @logicalfilename sysname,

@maxminutes int,

@newsize int

use     zhenghe             -- 要操作的資料庫名

select  @logicalfilename = 'zhenghe_log',  -- 日誌檔名

@maxminutes = 10,               -- limit on time allowed to wrap log.

@newsize = 15                  -- 你想設定的日誌檔案的大小(m)

-- setup / initialize

declare @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

壓縮資料庫日誌檔案 儲存過程

use master goset ansi nulls on goset quoted identifier on go 建立人 高公升 建立日期 2007 05 18 修改日期 2007 06 02 功能目的 收縮資料庫的日誌檔案 引數 要執行收縮的資料庫名稱,如果引數為 則收縮所有的非系統資料庫...

sql server壓縮資料庫和日誌檔案

dbcc shrinkdatabase 功能 壓縮資料庫 用法 dbcc shrinkdatabase tb 115sou com 注意 只有產生許多未使用空間的操作 如截斷表或刪除表操作 後,執行收縮操作最有效,產生碎片較少。其他情況請勿執行,因為雖然釋放了空間,但是會產生大量碎片 例子 我的資料...

壓縮資料庫日誌

經常在csdn上看到發帖說,壓縮日誌檔案處理不當,導致資料庫損壞,甚至不能恢復資料,於是就寫了乙個通用的資料庫日誌檔案壓縮的儲存過程來解決此問題 壓縮資料庫的通用儲存過程 壓縮日誌及資料庫檔案大小 因為要對資料庫進行分離處理 所以儲存過程不能建立在被壓縮的資料庫中 鄒建 2004.03 引用請保留此...