SQL Server 錯誤: 9003修複記

來源:互聯網
上載者:User

  今天很不巧,早上上班一開機剛剛啟動到快輸入密碼時就停了電。下午來電後開機一看,居然SQL Sever啟動不了。查看資料庫日誌出現以下錯誤:
錯誤: 9003,嚴重度: 20,狀態: 1
The LSN (6:222:1) passed to log scan in database 'model' is invalid.
錯誤: 9003,嚴重度: 20,狀態: 1
LSN (6:222:1) 無效。該 LSN 是傳遞給資料庫 'model' 中的日誌掃描操作的。

  查看線上說明,無果。重裝資料庫,反正是自己機器上的資料都無關緊要。還好伺服器一切正常,需要資料從伺服器上匯入即可。不過為了省去重裝的麻煩還是先上網搜尋了一下。嘗試修複錯誤,總比動不動重裝要有所提高。

上網搜尋結果如下:

應該是資料檔案或者記錄檔損壞了。
1)設定資料庫為緊急模式
停掉SQL Server服務;
把應用程式資料庫的資料檔案XXX_Data.mdf移走;
重建立立一個同名的資料庫XXX;
停掉SQL服務;
把原來的資料檔案再覆蓋回來;
運行以下語句,把該資料庫設定為緊急模式;
運行“Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
Go”

執行結果:
DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理員聯絡。
已將配置選項 'allow updates' 從 0 改為 1。請運行 RECONFIGURE 語句以安裝。

接著運行“update sysdatabases set status = 32768 where name = 'XXX'”


重啟SQL Server服務;
運行以下語句,把應用程式資料庫設定為Single User模式;
運行“sp_dboption 'XXX', 'single user', 'true'”

執行結果:
命令已成功完成。

做DBCC CHECKDB;

運行“DBCC CHECKDB('XXX')”
運行以下語句把系統資料表的修改選項關掉;
運行“sp_resetstatus "XXX"
go
sp_configure 'allow updates', 0
reconfigure with override
重建立立另外一個資料庫XXX.Lost;
2)DTS匯出嚮導
運行DTS匯出嚮導;

這樣,XXX.Lost資料庫就可以替換原來的應用程式資料庫了。

  看了文章發現要修複還是挺複雜的,重新看日誌,發現問題是出在model資料庫。我想我不如把我的另外一個資料庫執行個體中的model資料庫直接Copy過來不就行了,反正model資料庫用作在系統上建立的所有資料庫的模板。應該執行個體中的model資料庫和要恢複的差不多吧。後來把執行個體資料庫中的model.mdf覆蓋過來,重啟資料庫服務。居然好了,用了一陣也一切正常。OK!問題解決了。
  心得:看來以後遇到系統問題不能總走重裝的老路,這樣對自己才有提高。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.