清除日誌:
複製** **如下:
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 ...