在做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的日誌在分鐘...