最近的用戶反饋在使用SQL2000時(shí),拷貝原來(lái)文件附加數(shù)據(jù)庫(kù)出現(xiàn)錯(cuò)誤提示:錯(cuò)誤 9003:LSN (35494:16:2) 無(wú)效。該 LSN 是傳遞給數(shù)據(jù)庫(kù) '數(shù)據(jù)庫(kù)名' 中的日志掃描操作的。那么遇到這樣的情況要如何解決呢?小編給大家?guī)?lái)可行的解決方法!
這種情況是數(shù)據(jù)庫(kù)的日志文件(ldf)數(shù)據(jù)不同步造成的,可以根據(jù)數(shù)據(jù)庫(kù)(mdf)文件重建日志文件修復(fù)。
修復(fù)步驟如下:數(shù)據(jù)表名按自己的來(lái)改!
假設(shè)損壞的數(shù)據(jù)庫(kù)名稱是hfkj,對(duì)應(yīng)的數(shù)據(jù)庫(kù)名稱是hfkj.mdf,日志文件是hfkj_log.ldf,數(shù)據(jù)庫(kù)所在文件夾為D:\Data;
1、先把損壞的數(shù)據(jù)庫(kù)對(duì)應(yīng)的文件hfkj.mdf和hfkj_log.ldf備份到別的地方;
2、在SQL Server和企業(yè)管理器中創(chuàng)建一個(gè)與損壞數(shù)據(jù)庫(kù)同名的數(shù)據(jù)庫(kù),對(duì)應(yīng)的數(shù)據(jù)庫(kù)文件名稱也是hfkj.mdf和hfkj_log.ldf;
3、停止SQL Server服務(wù);
4、刪除第2步新建數(shù)據(jù)庫(kù)產(chǎn)生的hfkj_log.ldf文件;
5、用損壞的數(shù)據(jù)庫(kù)數(shù)據(jù)文件hfkj.mdf覆蓋第2步新建數(shù)據(jù)庫(kù)產(chǎn)生的hfkj.mdf文件
6、啟動(dòng)SQL Server服務(wù);
7、進(jìn)入企業(yè)管理器,刷新數(shù)據(jù)庫(kù)狀態(tài),此時(shí)數(shù)據(jù)庫(kù)hfkj狀態(tài)為“置疑”;
8、在SQL Server服務(wù)器屬性中設(shè)置SQL Server數(shù)據(jù)庫(kù)服務(wù)器“允許對(duì)系統(tǒng)目錄直接修改”
9、從SQL企業(yè)管理器的“工具”菜單啟動(dòng)“SQL 查詢分析器”;
10、輸入以下代碼并運(yùn)行使hfkj數(shù)據(jù)庫(kù)進(jìn)入緊急修復(fù)模式:
update sysdatabases set status=-32768 where dbid=DB_ID('hfkj')
這句語(yǔ)句執(zhí)行后,刷新企業(yè)管理器,hfkj數(shù)據(jù)庫(kù)的狀態(tài)變成“只讀\置疑\脫機(jī)\緊急模式”;
11、輸入以下語(yǔ)句并執(zhí)行重建日志文件:
dbcc rebuild_log('hfkj','D:\Data\hfkj_log.ldf')
這句語(yǔ)句執(zhí)行后,刷新企業(yè)管理器,hfkj數(shù)據(jù)庫(kù)的狀態(tài)變成“只供DBO使用”;
12、輸入并執(zhí)行正面的語(yǔ)句設(shè)置數(shù)據(jù)庫(kù)hfkj到正常狀態(tài):
exec sp_dboption 'hfkj','dbo use only','false'
這句語(yǔ)句執(zhí)行后,刷新企業(yè)管理器,hfkj數(shù)據(jù)庫(kù)變成正常狀態(tài)。
到此,hfkj數(shù)據(jù)庫(kù)修復(fù)成功。最后不要忘記關(guān)閉第8步中打開(kāi)的“允許對(duì)系統(tǒng)目錄直接進(jìn)行修改”服務(wù)器開(kāi)關(guān)。