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