SQL2008映象,清理log日誌

2022-04-01 03:17:21 字數 1266 閱讀 2566

在做sql 2008映象,由於主伺服器必須做完整備份,這時log日誌很大,必須定期清理log日誌,將下列儲存過程沒6個小時執行一次,其定期會將日誌檔案縮小到300m

create

proc

[dbo].

[cleantranlog]as

begin

declare

@num

tinyint

--執行次數

declare

@backlogname

varchar

(100

) ;--

備份日誌檔名稱

declare

@backlogpath

varchar

(100

) ; 

--備份日誌檔案的路徑

set@num=0

;set

@backlogpath=n

'c:\sqlbackup';

--設定備份日誌的路徑

--備份3次映象日誌檔案,同時刪除

while

( @num

<3)

begin

declare

@logpath

varchar

(100

)set

@backlogname

=cast

(@num

asvarchar(2

)) +

'.trn';

set@logpath

=@backlogpath+'

\'+@backlogname

backup

logdb  

todisk

=@logpath

with

noformat, noinit,

name

=@backlogname

, skip, rewind, nounload,stats =10

set@num

=@num+1

--刪除剛備份的trn日誌檔案結束的備份日誌檔案

execute

master.dbo.xp_delete_file 0, 

@logpath

;end

--收縮日誌檔案到300m

dbcc

shrinkfile (db_log, 

300) ;     

--注意

--db 這裡指: 資料庫名稱

--db_log 為日誌邏輯名稱

end

sql2008定期清理映象日誌

create proc dbo cleantranlog as begin declare num tinyint 執行次數 declare backlogname varchar 100 備份日誌檔名稱 declare backlogpath varchar 100 備份日誌檔案的路徑 set n...

SQL2008日期函式

引數 示例 說明 dateadd 日期部分,數字,日期 select dateadd year,45,1990 12 11 返回 2035 12 11 00 00 00.000 select dateadd month,45,1990 12 11 返回 1994 09 11 00 00 00.000...

清空sql2008 日誌

alter database dnname set recovery 簡單模式 go右鍵 任務 收縮 檔案 確定 下來資料庫的日誌只保留了1m alter database dnname set recovery full 還原為完全模式 go優點 此清除日誌所執行消耗的時間短,90gb的日誌在分鐘...