資料庫清除日誌檔案 LDF檔案過大

2022-09-25 03:45:08 字數 2276 閱讀 5621

清除日誌:

複製** **如下:

declare @logicalfilename sysname,

@maxminutes int,

@newsize int

use szwzche程式設計客棧ck -- 要操作的資料庫名

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

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

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

-- setup / initialize

declare @originalsi程式設計客棧ze int

select @originalsize = size

from sysfiles

where name = @logicalfilename

select 'original size of ' www.cppcns.com+ db_name() + ' log is ' +

convert(varchar(30),@originalsize) + ' 8k pages or ' +

convert(varchar(30),(@originalsize*8/1024www.cppcns.com)) + '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

end

exec (@trunclog)

end

select 'final size of ' + db_na程式設計客棧me() + ' 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

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

有全形的空格(為了顯示好看),你自己把他換一下.

我們編輯注:

一般情況下,用下面的語句更簡單

複製** **如下:

dump transaction [jb51] with no_log

backup log [jb51] with no_log

dbcc shrinkdatabase([jb51])

其中jb51就是你要處理的資料庫名。

本文標題: 資料庫清除日誌檔案(ldf檔案過大)

本文位址:

如何減小資料庫日誌檔案 ldf

declare dbnvarchar 20 set db 你的資料庫名稱 dump transaction dbwith no log backup log db with no log dbcc shrinkdatabase db 前幾天我的資料庫sql server 報日誌滿錯誤,於是變改了lo...

沒有ldf檔案的資料庫附加

由於客戶誤操作把資料盤給格式化了,真是災難!最後萬興的是還找到乙個mdf檔案。先講兩個科普的感念 mdf和ldf問這兩個是幹什麼的,mdf是主要資料庫檔案,記錄了所有資料庫的重要資訊。ldf是記錄資料庫的操作過程檔案,當有誤操作時可以知道當時到底幹了什麼!所以這個檔案沒事的時候基本沒用。1 執行資料...

資料庫還原 根據MDF檔案和LDF檔案

mdf 和 ldf 是sql server的資料檔案和日誌檔案,通過對sql資料庫的分離,我們可以獲得這二個檔案,同樣可以還原到對應的伺服器上。下面為主要操作步驟 把mdf檔案和ldf檔案拷貝到對應目錄裡 如 d sqldata 裡 在sqlserver裡新建個查詢,執行下面 use master ...