一:
分享]解決sql日誌增大的辦*[望置頂]
--假設test2為資料庫名稱
在查詢分析器中執行:
backup log muonline with no_log
backup log muonline with truncate_only
dbcc shrinkdatabase(muonline)
將上面的語句多次執行,直到日誌檔案縮小。
exec sp_dboption 'muonline','autoshrink','on'
建立作業,每半個小時一次日誌備份,每天一次完全資料庫備份。
在log收縮到正常大小後,將autoshrink選項設定為off。
二:資料庫增大是因為你的日誌增大了,以前大家討論過的,最簡單可行的辦法就是在你資料庫屬性->選項->故障還原裡面選成簡單模式(預設為完全模式),然後選收縮資料庫進行一次收縮,以後你的資料庫基本就不怎麼會增長了
三:1、進入企業管理器,選中資料庫,比如muonline
2、所有任務->分離資料庫
3、到資料庫檔案的存放目錄,將muonline_log.ldf檔案刪除,你怕s的話可以拷出去
4、企業管理器->附加資料庫,選muonline,這個時候你會看見日誌檔案這項是乙個叉,不要緊繼續,此時資料庫就會提示你該資料庫無日誌是否建立乙個新的,確定就是了。
5、記得資料庫重新附加後使用者要重新設定一下。
set nocount on
declare @logicalfilename sysname,
@maxminutes int,
@newsize int
use muonline (你要操作的資料庫名)
select @logicalfilename = 'muonline_log',(日誌檔名)
@maxminutes = 10,(設定每格多長時間寫一次日誌)
@newsize = 30(你想設定的日誌檔案的大小 單位:m)
-- setup / initialize
declare @originalsize int
select @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 has not expired
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)
endselect '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
set nocount off
mysql 日誌增長 資料庫日誌增長解決方法
資料庫日誌增長過快解決方法 1 刪除log 1 分離資料庫 企業管理器 伺服器 資料庫 右鍵 分離資料庫 2 刪除log檔案 3 附加資料庫 企業管理器 伺服器 資料庫 右鍵 附加資料庫 此法生成新的log,大小只有500多k 再將此資料庫設定自動收縮 或用 下面的示例分離 pubs,然後將 pub...
mysql 日誌增長 資料庫日誌增長解決方法
資料庫日誌增長過快解決方法 1 刪除log 1 分離資料庫 企業管理器 伺服器 資料庫 右鍵 分離資料庫 2 刪除log檔案 3 附加資料庫 企業管理器 伺服器 資料庫 右鍵 附加資料庫 此法生成新的log,大小只有500多k 再將此資料庫設定自動收縮 或用 下面的示例分離 pubs,然後將 pub...
SQL 2008日誌無法收縮解決方法
sql 2008的庫做了映象,日誌傳送和做了同步複製,發現日誌很大,而且無法收縮。原因 日誌卡死,可能有日誌未完整提交 dbcc opentran 檢視未提交的事務日誌 exec sp repldone xactid null,xact segno null,numtrans 0,time 0,re...