Database

事務日誌是伺服器還是數據庫的一部分?

  • March 14, 2015

在實踐中(一般來說)事務日誌是數據庫伺服器的一部分還是數據庫本身的一部分?我無法在任何地方找到此域中的資訊。我需要我正在組裝的模型的資訊…

如果這非常依賴於實施,我正在研究 SQL Server 2005/2008、MySQL 和 SQLite。但我更願意盡可能保持一般性。

我想如果事務日誌是伺服器的一部分,那麼整個伺服器中會有一個(可能兩個)事務日誌。這與每個數據庫都有一個事務日誌相反,這將在單個伺服器中為我們提供許多事務日誌。

補充一下 Joe 的評論,當對數據庫的更改傳輸到數據庫伺服器時,它“針對”一個特定的數據庫。但是,更改不會直接發生在數據庫中。它儲存在記憶體 (RAM) 中,然後寫入事務日誌。然後將事務日誌寫入(送出)到實際數據庫。送出的時間因數據庫軟體(MySQL、SQL Server 等)、數據庫引擎設置和其他變數而異。

總而言之:事務日誌通常是單個數據庫的一個組件。理論上,您可以在單個伺服器上擁有數百個(數千個?!)事務日誌。存在一些例外情況,例如 Exchange 伺服器,其中事務日誌是儲存組的一個組件,可能有多個數據庫……但我不會提及,因為它會攪渾水。=)

引用自:https://serverfault.com/questions/79345