亚洲伊人久久大香线蕉,亚洲精品午夜无码专区,亚洲娇小与黑人巨大交,亚洲欧美日韩久久一区二区,亚洲天堂男人影院

巨靈鳥

電話   4000156919
當(dāng)前位置:首頁 > 數(shù)據(jù)庫管理_ERP百科

什么是事務(wù)日志

來源:巨靈鳥軟件  作者:進銷存軟件  發(fā)布:2014/5/20  瀏覽次數(shù):5106

1、事務(wù)日志文件

事務(wù)日志文件,擴展名為ldf,它是數(shù)據(jù)庫結(jié)構(gòu)中非常重要卻又常被忽視的部分。它是用來記錄數(shù)據(jù)庫更新情況的文件,它可以記錄針對數(shù)據(jù)庫的任何操作,并將記錄的結(jié)果保存到獨立的文件中。對于每一次數(shù)據(jù)庫更新的過程,事務(wù)日志文件都有非常全面的記錄。根據(jù)這些記錄可以恢復(fù)數(shù)據(jù)庫更新前的狀態(tài)。

2、作用

出于性能上的考慮,SQL Server將用戶的改動存入緩存中,這些改變會立即寫入事務(wù)日志,但不會立即寫入數(shù)據(jù)文件。事物日志會通過一個標(biāo)記點來確定某個事物是否已將緩存中的數(shù)據(jù)寫入數(shù)據(jù)文件。當(dāng)SQL Server重啟后,它會查看日志中最新的標(biāo)記點,并將這個標(biāo)記點后面的事物記錄抹去,因為這些事物記錄并沒有真正的將緩存中的數(shù)據(jù)寫入數(shù)據(jù)文件。這可以防止那些中斷的交易修改數(shù)據(jù)文件。

舉個例子,在一個銀行系統(tǒng)中,某個用戶需要轉(zhuǎn)帳。這個轉(zhuǎn)帳作業(yè)主要是通過兩個步驟來完成。第一個步驟就是扣減用戶帳戶中的金額; 第二個步驟是把錢轉(zhuǎn)入到另外一個用戶那里,F(xiàn)在如果在轉(zhuǎn)帳的過程中,第一步成功了,但是第二個步驟因為某種原因出錯了。如用戶提供的帳戶名字與實際轉(zhuǎn)帳的帳戶名字不符,則第二個操作就會失敗。此時整個轉(zhuǎn)帳操作就會以失敗而告終。但是現(xiàn)在的問題是,第一個扣減的動作在數(shù)據(jù)庫中已經(jīng)完成了。而實際卻是沒有轉(zhuǎn)帳成功,就造成了數(shù)據(jù)一致性的問題。實際過程中如果應(yīng)用程序發(fā)出ROLLBACK 語句,或者數(shù)據(jù)庫引擎檢測到錯誤,就使用日志記錄回滾未完成的事務(wù)所做的修改。也就是說,當(dāng)?shù)诙䝼操作失敗的話,應(yīng)用程序要發(fā)出一個ROLLBACK 語句,利用事務(wù)日志回滾功能,恢復(fù)第一步的操作。也就是說,把扣減金額的操作進行恢復(fù),從而實現(xiàn)數(shù)據(jù)的一致性。類似的應(yīng)用,在數(shù)據(jù)庫開發(fā)過程中很頻繁。


3、事務(wù)日志的常見故障
一般情況下,在能夠容納兩次事務(wù)日志截斷之間發(fā)生的最大數(shù)量的事務(wù)時,事務(wù)日志的大小是穩(wěn)定的,事務(wù)日志截斷由檢查點或者事務(wù)日志備份觸發(fā)。
然而,在某些情況下,事務(wù)日志可能會變得非常大,以致用盡空間或變滿。通常,在事務(wù)日志文件占盡可用磁盤空間且不能再擴展時,您將收到如下錯誤消息:
Error:9002, Severity:17, State:2
The log file for database ’%.*ls’ is full.
除了出現(xiàn)此錯誤消息之外,SQL Server 還可能因為缺少事務(wù)日志擴展空間而將數(shù)據(jù)庫標(biāo)記為 SUSPECT。有關(guān)如何從此情形中恢復(fù)的其他信息,請參見 SQL Server 聯(lián)機幫助中的“磁盤空間不足”主題。

 

來源:巨靈鳥 歡迎分享本文

  • 點擊這里給我發(fā)消息
  • 點擊這里給我發(fā)消息