作者:admin 日期:2023-10-09 瀏覽: 次
初學(xué)者必看,數(shù)據(jù)庫(kù)日志文件損壞的原因及解決辦法!
結(jié)構(gòu)化查詢語(yǔ)言(俗稱SQL)是一種編程語(yǔ)言,用于管理由數(shù)據(jù)定義語(yǔ)言、數(shù)據(jù)操作語(yǔ)言和數(shù)據(jù)控制語(yǔ)言組成的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDMS)中保存的數(shù)據(jù)。SQL數(shù)據(jù)庫(kù)包含以下三個(gè)文件:
Primary database files:Primary database files是main database file (MDF),它指向數(shù)據(jù)庫(kù)中的另一個(gè)文件,因此每個(gè)數(shù)據(jù)庫(kù)都有一個(gè)Primary database files。該文件位于.mdf的擴(kuò)展名中。
Secondary database files:當(dāng)數(shù)據(jù)庫(kù)的數(shù)據(jù)超過時(shí),將創(chuàng)建一個(gè)Secondary database files,該文件存儲(chǔ)超過MDF限制的數(shù)據(jù)。東臺(tái)數(shù)據(jù)恢復(fù)因此,可以為單個(gè)數(shù)據(jù)庫(kù)創(chuàng)建多個(gè)Secondary database files。該文件位于.ndf的擴(kuò)展名中
日志文件:這些文件維護(hù)SQL Server數(shù)據(jù)庫(kù)中所有事務(wù)的日志,以便之后可以使用該信息來(lái)恢復(fù)數(shù)據(jù)庫(kù)。每個(gè)數(shù)據(jù)庫(kù)必須存在一個(gè)日志文件,并且可能會(huì)為單個(gè)數(shù)據(jù)庫(kù)創(chuàng)建多個(gè)日志文件。該文件位于.ldf文件擴(kuò)展名中。
日志文件(也稱為事務(wù)日志)由在數(shù)據(jù)庫(kù)上執(zhí)行的操作組成,用于數(shù)據(jù)庫(kù)管理以保證ACID屬性可以處理崩潰或硬件故障。它是一個(gè)列出數(shù)據(jù)庫(kù)更改的文件,以穩(wěn)定的存儲(chǔ)格式存儲(chǔ)。
SQL Server的日志文件被損壞,就是當(dāng)我們對(duì)SQL數(shù)據(jù)庫(kù)執(zhí)行某些操作時(shí),在進(jìn)程之間存在一些錯(cuò)誤,并且由此導(dǎo)致進(jìn)程中出現(xiàn)中斷。
SQL Server中日志文件損壞的原因
病毒或其他惡意軟件:在計(jì)算機(jī)系統(tǒng)中,許多病毒可能感染并破壞日志文件并使其無(wú)法訪問。
終止系統(tǒng)異常:如果系統(tǒng)/應(yīng)用程序異常退出,文件很容易被破壞或損壞。
輸入輸出配置:I / O子系統(tǒng)是用于存儲(chǔ)系統(tǒng)和用戶數(shù)據(jù)庫(kù)的重要組成部分。因此,如果配置受到干擾或增強(qiáng),可能會(huì)導(dǎo)致日志文件損壞。
存儲(chǔ)大小問題:日志文件損壞背后的最大原因是存儲(chǔ)大小。如果數(shù)據(jù)超過LDF的限制,則可能發(fā)生損壞。
由于日志文件損壞而發(fā)生的錯(cuò)誤
錯(cuò)誤消息1:StartLogFiles:由于系統(tǒng)找不到指定的文件而導(dǎo)致日志文件無(wú)法啟動(dòng)時(shí)存在此錯(cuò)誤。嘗試診斷并更正操作系統(tǒng)錯(cuò)誤,然后重試操作。
錯(cuò)誤消息2:文件激活失敗。發(fā)生錯(cuò)誤是由于位于C:\ ProgramFiles \ MSSQLServer \ MSSQL10_50.SQLEXPRESS \ MSSQL \ Log \ ERRORLOG中的文件錯(cuò)誤。
錯(cuò)誤消息3:錯(cuò)誤消息顯示由于系統(tǒng)硬件故障或任何其他原因?qū)е率聞?wù)日志已被刪除或丟失。
錯(cuò)誤消息4:SQL數(shù)據(jù)庫(kù)的損壞服務(wù)器導(dǎo)致日志文件備份損壞。
錯(cuò)誤消息5:當(dāng)數(shù)據(jù)庫(kù)日志損壞且用戶嘗試將日志文件附加到新服務(wù)器時(shí),將顯示一條錯(cuò)誤消息,并顯示消息“無(wú)法打開新數(shù)據(jù)庫(kù)[數(shù)據(jù)庫(kù)名稱]”。 CREATE DATABASE 被中止。
錯(cuò)誤消息6:日志數(shù)據(jù)庫(kù)嘗試附加時(shí),但執(zhí)行附件時(shí)出現(xiàn)錯(cuò)誤。該錯(cuò)誤顯示兩個(gè)數(shù)字之一,即9004或9001,通知您必須創(chuàng)建備份或需要重建日志。
如何在SQL Server中恢復(fù)損壞的日志文件