sqlserver事務(wù)日志

sqlserver事務(wù)日志

ID:34725944

大?。?3.68 KB

頁數(shù):5頁

時間:2019-03-10

sqlserver事務(wù)日志_第1頁
sqlserver事務(wù)日志_第2頁
sqlserver事務(wù)日志_第3頁
sqlserver事務(wù)日志_第4頁
sqlserver事務(wù)日志_第5頁
資源描述:

《sqlserver事務(wù)日志》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、SQLServer事務(wù)日志SSYBASESQLServer的每一個數(shù)據(jù)庫,無論是系統(tǒng)數(shù)據(jù)庫(master,model,sybsystemprocs,tempdb),還是用戶數(shù)據(jù)庫,都有自己的transactionlog,每個庫都有syslogs表。Log記錄用戶對數(shù)據(jù)庫修改的操作,所以如果不用命令清除,log會一直增長直至占滿空間。清除log可用dumptransaction命令;或者開放數(shù)據(jù)庫選項trunclogonchkpt,數(shù)據(jù)庫會每隔一段間隔自動清除log。管理好數(shù)據(jù)庫log是用戶操作數(shù)據(jù)庫必須考慮的一面。  下面就幾個方面談?wù)刲o

2、g及其管理:  一、SQLServer如何記錄及讀取日志信息  我們知道,SQLServer是先記log的機制。ServerCacheMemory中日志頁總是先寫于數(shù)據(jù)頁: Logpages在commit,checkpoint,spaceneeded時寫入硬盤?! atapages在checkpoint,spaceneeded時寫入硬盤?! ∠到y(tǒng)在recovery時讀每個database的syslogs表的信息,回退未完成的事務(wù)(transaction)(數(shù)據(jù)改變到事務(wù)前狀態(tài));完成已提交的事務(wù)(transaction)(數(shù)據(jù)改變?yōu)槭聞?wù)提

3、交后的狀態(tài))。在Log中記下checkpoint點。這樣保證整個數(shù)據(jù)庫系統(tǒng)的一致性和完整性?! 《?、Transactionlogs和checkpoint進程  checkpoint命令的功能是強制所有“臟”頁(自上次寫入數(shù)據(jù)庫設(shè)備后被更新過的頁)寫入數(shù)據(jù)庫設(shè)備。自動的checkpoint間隔是由SQLServer根據(jù)系統(tǒng)活動和系統(tǒng)表sysconfigures中的恢復間隔(recoveryinterval)值計算出的。通過指定系統(tǒng)恢復所需的時間總量,恢復間隔決定了checkpoint的頻率。  如果數(shù)據(jù)庫開放trunclogonchkpt選項

4、,則SQL-5-Server在數(shù)據(jù)庫系統(tǒng)執(zhí)行checkpoint時自動清除log。但用戶自己寫入執(zhí)行的checkpoint命令并不清除log,即使trunclogonchkpt選項開放。只有在trunclogonchkpt選項開放時,SQLServer自動執(zhí)行checkpoint動作,才能自動清除log。這個自動的checkpoint動作在SQLServer中的進程叫做checkpoint進程。當trunclogonchkpt選項開放時,checkpoint進程每隔0秒左右清除log,而不考慮recoveryinterval設(shè)置時間的間隔。

5、  三、Transactionlog的大小  沒有一個十分嚴格的和確切的方法來確定一個數(shù)據(jù)庫的log應(yīng)該給多大空間。對一個新建的數(shù)據(jù)庫來說,log大小為整個數(shù)據(jù)庫大小的20%左右。因為log記錄對數(shù)據(jù)庫的修改,如果修改的動作頻繁,則log的增長十分迅速。所以說log空間大小依賴于用戶是如何使用數(shù)據(jù)庫的。  例如:1.update,insert和delete的頻率2.每個transaction中數(shù)據(jù)的修改量3.SQLServer系統(tǒng)參數(shù)recoveryinterval值4.log是否存到介質(zhì)上用于數(shù)據(jù)庫恢復  還有其它因素影響log大小,我們

6、應(yīng)該根據(jù)操作估計log大小,并間隔一個周期就對log進行備份和清除?! ∷?、檢測log的大小  若log在自己的設(shè)備上,dbccchecktable(syslogs)有如下信息:例:***NOTICE:spaceusedonthelogsegmentis12.87Mbytes,64.35%???***NOTICE:spacefreeonthelogsegmentis7.13Mbytes,35.65%?  根據(jù)log剩余空間比例來決定是否使用dumptransaction命令來備份和清除log?! ∮每焖俜椒▉砼袛鄑ransactionlog

7、滿的程度。1>usedatabase_name?2>go?1>selectdata_pgs(8,doampg)?2>fromsysindexeswhereid=8?3>go?Note:thisquerymaybeoffbyasmanyas16pages.  在syslogs表用sp_spaceused命令?! ∥濉og設(shè)備-5-  一般來說,應(yīng)該將一個數(shù)據(jù)庫的data和log存放在不同的數(shù)據(jù)庫設(shè)備上。這樣做的好處:1.可以單獨地備份(backup)transactionlog?2.防止數(shù)據(jù)庫溢滿3.可以看到log空間的使用情況。[dbcc

8、checktable(syslogs)]?4.可以鏡像log設(shè)備  六、log的清除  數(shù)據(jù)庫的log是不斷增長的,必須在它占滿空間之前清除。前面已經(jīng)討論過,清除log可以開放數(shù)

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。