清楚SQL日誌

2021-05-24 15:05:10 字數 2701 閱讀 1811

--

清除日誌:

declare

@logicalfilename

sysname,

@maxminutes

int,

@newsize

intuse

szwzcheck            

--要操作的資料庫名

select

@logicalfilename='

szwzcheck_log

', 

--日誌檔名

@maxminutes=10

,              

--limit on time allowed to wrap log.

@newsize=20

--你想設定的日誌檔案的大小(m)

--setup / initialize

declare

@originalsize

intselect

@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

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

endexec

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

setnocount

off--

把szwzcheck換成你資料庫的名字即可,在查詢分析器裡面執行。

--收縮日誌:企業管理器--所有任務--收縮資料庫--檔案--選日誌檔案收縮

Sql清除日誌

問題補充 sql的日誌可以清除嗎?方法2 6都可以 1 收縮資料庫檔案 如果不壓縮,資料庫的檔案不會減小 企業管理器 右鍵你要壓縮的資料庫 所有任務 收縮資料庫 收縮檔案 選擇日誌檔案 在收縮方式裡選擇收縮至xxm,這裡會給出乙個允許收縮到的最小m數,直接輸入這個數,確定就可以了 選擇資料檔案 在收...

縮小SQL日誌

縮小sql日誌 exec p pdb test create proc p pdb dbname sysname,要壓縮的資料庫名 bkdatabase bit 1,因為分離日誌的步驟中,可能會損壞資料庫,所以你可以選擇是否自動資料庫 bkfname nvarchar 260 備份的檔名,如果不指定...

清除Sql日誌

今天 剛上班不久,業務部就反應 的資料從凌晨兩點後就沒有更新了 初步估計是脆弱的資料庫伺服器又出問題了 果然,剛登陸上資料庫伺服器,系統就彈出提示,xx資料庫日誌已經滿,請備份資料庫日誌.這個想來正常,昨天檢視該資料庫日誌檔案的時候已經是6g多了,只是沒想到來得這麼快,廢話少說,馬上動手 根據以往的...