資料庫恢復和日誌檔案闡述

2022-03-06 09:12:57 字數 541 閱讀 5267

資料庫的日誌檔案會記錄所有的事務日誌,但是如果在簡單恢復模式下,或者不在簡單恢復模式下但是沒有對資料庫做過完全備份,那麼sql server不會長久的儲存日誌,sql server會對日誌進行截斷,也就是說丟棄以前的日誌記錄,但是會保留活動日誌。

在完全恢復模式下,如果沒有進行過完整備份並且資料庫的日誌空間使用率高於70%,那麼sql server只要要可能就會進行日誌截斷。

sql server的日誌會被劃分為一些虛擬日誌,當乙個虛擬日誌使用完後再使用下乙個虛擬日誌。sql server在截斷日誌時會以虛擬日誌為單位來進行截斷,被截斷的日誌可以被重新使用。但是截斷日誌不會減少日誌的物理空間,只會把已滿的虛擬日誌重新標記為可用狀態。

在完整恢復模式(已做過完全備份)下,如果不進行任何日誌備份,那麼日誌檔案會一直增長,sql server不會去主動截斷日誌。我們可以定期備份日誌,從而讓日誌空間得以重複裡面,避免日誌增長過大。

在簡單恢復模式下,雖然不記錄事務日誌(但是並不是真的不記錄任何日誌),如果日誌空間夠用,由於日誌截斷,會重複利用截斷的空間,只有不夠用的情況下,會再分配空間,造成日誌檔案增長。

binlog日誌檔案 恢復資料庫

檢視資料庫是否開啟binlog日誌 show variables like log bin 如果 log bin off 則在my.ini檔案加入如下命令 路徑為自己mysql下位置所在 d wamp bin mariadb mariadb10.4.10 bin log 自己所建立檔案 mysql ...

無資料庫日誌檔案恢復資料庫方法

方法一 1.新建乙個同名的資料庫 2.再停掉sql server 注意不要分離資料庫 3.用原資料庫的資料檔案覆蓋掉這個新建的資料庫 4.再重啟sql server 5.此時開啟企業管理器時會出現置疑,先不管,執行下面的語句 注意修改其中的資料庫名 6.完成後一般就可以訪問資料庫中的資料了,這時,資...

通過日誌恢復資料庫

建立測試資料庫test create database test onprimary name test data.mdf filename d test data.mdf logon name test data.ldf filename d test data.ldf 建立測試表 create ...