sqlserver 9003錯誤解決程式設計客棧方法 只適用於sql2000
(只適用於sql2000)
"無法開啟新資料庫 'pos'。create database 中止。 (microsoft sql server,錯誤: 9003)"
看是9003錯誤,就想到可能是由於日誌檔案的原因,再看資料庫檔案可能損壞,於是想到dbcc checkdb指令.
方法如下:
1.我們使用預設方式建立乙個供恢復使用的資料庫(如pos)。可以在sql server enterprise manager裡面建立。
2.停掉資料庫伺服器。
3.將剛才生成的資料庫的日誌檔案pos_log.ldf刪除,用要恢復的資料庫mdf檔案覆蓋剛才生成的資料庫資料檔案pos_data.mdf。
4.啟動資料庫伺服器。此時會看到資料庫pos的狀態為「置疑」。這時候不能對此資料庫進行任何操作。
5.設定資料庫允許直接作業系統表。此操作可以在sql server enterprise manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設定」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。
use master
go exec sp_configure 'allow updates',1
go reconfigure with overriwww.cppcns.comde
go6.設定pos為緊急修復模式
update sysdatabases set status=-32768 where dbid=db_id('pos')
go此時可以在sql server enterprise manager裡面看到該資料庫處於「唯讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表
7.下面執行真正的恢復操作,重建資料庫日誌檔案
dbcc rebuild_log('pos','d:\program files\microsoft sql server\mssql\data\pos_log.ldf')
go執行過程中,如果遇到下列提示資訊:
伺服器: 訊息 5030,級別 16,狀態 1,行 1
未能排它地鎖定資料庫以執行該操作。
dbcc 執行完畢。如果 dbcc 輸出了錯誤資訊,請與系統管理員聯絡。
說明您的其他程式正在使用該資料庫,如果剛才您在6步驟中使用sql server enterprise manager開啟了pos庫的系統表,那麼退出sql server enterprise manager就可以了。
正確執行完成的提示應該類似於:
警告: 資料庫 'pos' 的日誌已重建。已失去事務的一致性。應執行 dbcc checkdb 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌檔案。
dbcc 執行完畢。如果 dbcc &nbs 輸出了錯誤資訊,請與系統管理員聯絡。
此時開啟在sql server enterprise manager裡面會看到資料庫的狀態為「只供dbo使用」。此時可以訪問資料庫裡面的使用者表了。
8.驗證資料庫一致性(可省略)
dbcc checkdb('pos')
go一般執行結果如下:
checkdb 發現了 0 個分配錯誤和 0 個一致性錯誤(在資料庫 'pos' 中)。
dbcc 執行完畢。如果 dbcc 輸出了錯誤資訊,請與系統管理員聯絡。
9.設定資料庫為正常狀態
exec sp_dboption 'pos','dbo use only','false'
go如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。
10.最後一步,我們要將步驟e中設定的「允許對系統目錄直接修改」一項恢復。因為平時直接作業系統表是一件比較危險的事情。當然,我們可以在sql server enterprise manager裡面恢復,也可以使用如下語句完成
exec sp_configure 'allow sumqzqupdates',0
go reconfigu程式設計客棧re with override
go本文標題: sql server 9003錯誤解決方法
本文位址:
SQL Server錯誤處理
目錄 二 用try.catch發現錯誤 三 捕獲錯誤的系統函式 四 用 error捕獲上一條語句的錯誤 五 用raiserror反饋錯誤 回到頂部 sqlserver在每個資料庫的系統檢視sys.messages中儲存系統自定義 message id 50000 和使用者自定義 message id...
清除 SQL Server 錯誤日誌檔案
sql server 儲存 7 個 errorlog 檔案,名為 errorlog errorlog.1 errorlog.2 errorlog.3 errorlog.4 errorlog.5 errorlog.6 清除 sql server 錯誤日誌檔案 存檔 exec sp cycle erro...
SQL Server複製中錯誤處理
在sql server的複製中出現在錯誤 應用複製的命令時在訂閱伺服器上找不到該行 換上以前的做法就是刪除掉這個複製,然後再新建乙個複製,但是這次,我突然想baidu一下,看看別人是怎麼處理這個問題的,然後發現找到的文章都是從msdn上抄下來的,因此我決定把我的做法寫下來。首先查msdn,確定這個錯...