登記日誌檔案時為什麼必須先寫日誌檔案,後寫資料庫

時間 2022-08-31 11:15:01

1樓:睢鳩枋華

先寫日誌檔案為保證資料庫的可恢復性,日誌檔案能夠用來進行事務故障恢復、系統故障恢復,並能夠協助後備副本進行介質故障恢復。當資料庫檔案毀壞後,可重新裝入後援副本把資料庫恢復到轉儲結束時刻的正確狀態,再利用建立的日誌檔案,可以把已完成的事務進行重做處理,而對於故障發生時尚未完成的事務則進行撤消處理,這樣不用執行應用程式就可把資料庫恢復到故障前某一時刻的正確狀態。

2樓:在下陳皮

把對資料的修改寫到資料庫中和把寫表示這個修改的日誌記錄寫到日誌檔案中是兩個不同的操作。有可能在這兩個操作之間發生故障,即這兩個寫操作只完成了一個。如果先寫了資料庫修改,而在執行記錄中沒有登記下這個修改,則以後就無法恢復這個修改了。

如果先寫日誌,但沒有修改資料庫,按日誌檔案恢復時只不過是多執行一次不必要的undo操作,並不會影響資料庫的正確性。所以為了安全,一定要先寫日誌檔案,即首先把日誌記錄寫到日誌檔案中,然後寫資料庫的修改。這就是「先寫日誌檔案」的原則。

登記日記檔案時為什麼必須先寫日記檔案,後寫資料庫?日誌檔案能否和資料庫儲存在一起,為什麼?

3樓:匿名使用者

因為日誌是用來恢復資料庫的。

舉例來說,如果先寫資料庫,後寫日誌,但是在剛好寫了資料庫而未寫日誌的時候崩潰了,那麼根據日誌恢復出來的資料庫就少了一條記錄(假設是插入操作)。但反過來的話,完全可以根據日誌檔案把這條資料恢復出來。

同樣的原因,日誌檔案是不推薦和資料庫儲存在同一個硬碟的,因為一旦硬碟壞了就會一起死掉。當然,如果已經使用了帶容錯的raid,甚至是盤櫃之類的裝置,那麼可以放在一起沒有太大問題。

4樓:

如果先寫了資料庫修改,而在執行記錄中沒有登記下這個修改,則以後就無法恢復這個修改了。如果先寫日誌,但沒有修改資料庫,按日誌檔案恢復時只不過是多執行一次不必要的undo操作,並不會影響資料庫的正確性。

sql server日誌作用以及為什麼先寫日誌後寫資料?

登記日誌檔案應遵循哪些原則,為什麼

5樓:

為保證資料庫是可恢復的,登記日誌檔案時必須遵循兩條原則:

1. 登記的次序嚴格按併發事務執行的時間次序。

2. 必須先寫日誌檔案,後寫資料庫。

把對資料的修改寫到資料庫中和把寫表示這個修改的日誌記錄寫到日誌檔案中是兩個不同的操作。有可能在這兩個操作之間發生故障,即這兩個寫操作只完成了一個。如果先寫了資料庫修改,而在執行記錄中沒有登記下這個修改,則以後就無法恢復這個修改了。

如果先寫日誌,但沒有修改資料庫,按日誌檔案恢復時只不過是多執行一次不必要的undo操作,並不會影響資料庫的正確性。所以為了安全,一定要先寫日誌檔案,即首先把日誌記錄寫到日誌檔案中,然後寫資料庫的修改。這就是「先寫日誌檔案」的原則。

資料庫問題?

6樓:解不開的困惑

把對資料庫的修改寫到資料庫中和把這個修改的日誌記錄寫到日誌檔案中是兩個不同的操作.

有可能在這兩個操作之間發生故障,即兩個操作只完成了一個.

如果先寫了資料庫修改,而在執行記錄中沒有登記這個修改,則以後就無法恢復這個修改了.

如果先寫日誌,但沒有修改資料庫,按日誌檔案恢復時只不過是多執行一次不必要的undo操作,並不會影響資料庫的正確性.

迷你忍者為什麼在解壓遊戲必須安裝檔案時總是說磁碟空間不足

出現磁碟空間不足,說明您的電腦c盤空間不足,目前存在大量系統垃圾檔案,此時的您需要對電腦進行深度清理,不僅清理系統盤還要對其他分割槽的大檔案進行管理。首先讓我們來了解一下哪些檔案是電腦垃圾檔案 1.windows系統垃圾檔案 windows 臨時目錄 記憶體轉儲檔案 windows 更新補丁 使用者...

請問開車時為什麼必須要掛一檔,開車時為什麼要不停的掛檔?

一檔是起步檔,為了讓汽車平穩起步,同時也是為了減少發動機瞬間吃力。掛一檔的時候力量是最大的,但是跑不快,但是這樣起步不容易熄火,等車子起步以後慢慢的就可以換擋了 為了能夠平穩而快速的起步。一擋的扭矩力是最大的。使汽車更容易起步行駛。操作規範對車輛有保護作用,一檔起步平穩減少離合器的衝擊!你說的是手動...

為什麼有些檔案刪除時,老是提示檔案正在被人或程式使用而無

怕妻的伊萬懦夫 軟體大小 155 kb 授權方式 免費版 登出一下 因為你的電腦可能反映有點慢.所以有的程式看上去已經關了,但是.程序中仍在進行.所以你要下注銷一下. 嗯。可以進入程序表,找到該程式程序,結束後刪除。一般程序名和檔名相差不遠。或是在重啟後按f8進入安全模式下刪除。 去安全模式刪除或者...