SQL資料庫修復的問題一定要用達思SQL資料庫修復軟體,它可是全球最棒的SQL資料庫修復軟體了。而且在資料庫修復過程中遇到任何問題,還有資料庫修復專家指導。要下載去網路就可以,很多下載地址,我一般有什麼問題都是用這個軟體的
Ⅱ sql2000資料庫還原數據時發生「數據一致性錯誤」,急求解決方法!
是.bak的文件嗎?
如果是的話,可以把原來的庫刪除,
然後建立一個新庫,名字和原來的一樣.然後再還原.
Ⅲ SQL 的備份文件還原時出現「發生內部一致性錯誤」
還原時,復選「在現有資料庫上強制還原」
Ⅳ sql資料庫查詢中斷、無法修復的一致性錯誤、無法導出數據, 數據怎麼恢復
資料庫損壞最行之有效的辦法就是存在冗餘數據,使用冗餘數據進行恢復。所謂的冗餘數據包括熱備、冷備、和暖備。
使用鏡像或可用性組作為熱備,當檢測到錯誤時,可以自動進行頁修復(鏡像要求2008以上,可用性組是2012的功能)。鏡像當主體伺服器遭遇824錯誤時,會向鏡像伺服器發送請求,將損壞的頁由鏡像復制到主體解決該問題。對於可用性組,如果數據頁是在主副本上發現的,則主副本將會向所有輔助副本發送廣播,並由第一個響應的輔助副本的頁來修復頁錯誤,如果錯誤出現在只讀輔助副本,則會向主副本請求對應的頁來修復錯誤。在這里有一點值得注意的是,無論是哪一種高可用性技術,都不會將頁錯誤散播到冗餘數據中,因為SQL Server中所有的高可用性技術都是基於日誌,而不是數據頁。
其次是使用暖備或冷備來還原頁,我已經在代碼清單1中給出了詳細的代碼,這里就不細說了。
如果沒有合適的備份存在,如果損壞的數據頁是存在於非聚集索引上,那麼你很幸運,只需要將索引禁用後重建即可。
如果存在基準的完整備份,並且日誌鏈沒有斷裂(包括差異備份可以Cover日誌缺失的部分),則可以通過備份尾端日之後還原資料庫來進行修復。
最後,如果基礎工作做的並不好,您可能就需要通過損失數據的方式來換回資料庫的一致性,我們可以通過DBCC CheckDB命令的REPAIR_ALLOW_DATA_LOSS來修復資料庫。使用該方法可能導致數據損失,也可能不會導致數據損失,但大部分情況都會通過刪除數據來修復一致性。使用REPAIR_ALLOW_DATA_LOSS需要將資料庫設置為單用戶模式,這意味著宕機時間。
無論是哪種情況修復資料庫,都要考慮是否滿足SLA,如果出現了問題之後,發現無論用哪種方式都無法滿足SLA的話,那隻能檢討之前的准備工作並祈禱你不會因此丟了工作。
Ⅳ 我的 SQL Server 庫出現「一致性」錯誤,請高手幫忙解決
使用DBCC checkdb,不要加後面的允許數據丟失的修復選項,試試
Ⅵ SQL 2008R2 兩個一致性錯誤
1 當前命令發生了嚴重錯誤。應放棄任何可能產生的結果
2 SQL Server 檢測到基於一致性的邏輯 I/O 錯誤 pageid 不正確(應為 1:21802,但實際為 34049:134765344)。在文件 'F:\Program Files (x86)\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test.MDF' 中、偏移量為 0x0000000aa54000 的位置對資料庫 ID 7 中的頁 (1:21802) 執行 讀取 期間,發生了該錯誤。SQL Server 錯誤日誌或系統事件日誌中的其他消息可能提供了更詳細信息。這是一個威脅資料庫完整性的嚴重錯誤條件,必須立即糾正。請執行完整的資料庫一致性檢查(DBCC CHECKDB)。此錯誤可以由許多因素導致;有關詳細信息,請參閱 SQL Server 聯機叢書。
Ⅶ sql server 還原資料庫文件 發生內部一致性錯誤
我也遇到過這種情況,你的SQL是不是改變安裝路徑(即不是默認的盤)了,由於人為的改變路徑雖然在一般的使用中不會有問題,但在還原等時可能會因為系統找不到路徑而出錯。我當時的做法是卸載後按照默認路徑重裝的。建議試試。
Ⅷ 如何修復sql資料庫數據不一致
修復sql2000資料庫置疑在實際的操作中由於突然斷電或者突然斷網造成資料庫置疑(在企業管理器中資料庫後面出現置疑兩個字),下面我們通過以下方法來進行修復置疑的資料庫。A.我們使用默認方式建立一個供恢復使用的資料庫(如test)。可以在SQLServerEnterpriseManager裡面建立。B.停掉資料庫伺服器。C.將剛才生成的資料庫的日誌文件test_log.ldf刪除,用要恢復的資料庫mdf文件覆蓋剛才生成的資料庫數據文件test_data.mdf。D.啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。E.設置資料庫允許直接操作系統表。此操作可以在SQLServerEnterpriseManager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。usemastergosp_configure'allowupdates',1goreconfigurewithoverridegoF.設置test為緊急修復模式updatesysdatabasessetstatus=-32768wheredbid=DB_ID('test')此時可以在SQLServerEnterpriseManager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表G.下面執行真正的恢復操作,重建資料庫日誌文件dbccrebuild_log('test','C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\test_log.ldf')執行過程中,如果遇到下列提示信息:伺服器:消息5030,級別16,狀態1,行1未能排它地鎖定資料庫以執行該操作。DBCC執行完畢。如果DBCC輸出了錯誤信息,請與系統管理員聯系。說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQLServerEnterpriseManager打開了test庫的系統表,那麼退出SQLServerEnterpriseManager就可以了。正確執行完成的提示應該類似於:警告:資料庫'test'的日誌已重建。已失去事務的一致性。應運行DBCCCHECKDB以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。DBCC執行完畢。如果DBCC輸出了錯誤信息,請與系統管理員聯系。此時打開在SQLServerEnterpriseManager裡面會看到資料庫的狀態為「只供DBO使用」。此時可以訪問資料庫裡面的用戶表了。H.驗證資料庫一致性(可省略)dbcccheckdb('test')一般執行結果如下:CHECKDB發現了0個分配錯誤和0個一致性錯誤(在資料庫'test'中)。DBCC執行完畢。如果DBCC輸出了錯誤信息,請與系統管理員聯系。I.設置資料庫為正常狀態sp_dboption'test','dbouseonly','false'如果沒有出錯,那麼恭喜,現在就可以正常的使用恢復後的資料庫啦。J.最後一步,我們要將步驟E中設置的「允許對系統目錄直接修改」一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQLServerEnterpriseManager裡面恢復,也可以使用如下語句完成sp_configure'allowupdates',0goreconfigurewithoverridego
Ⅸ 資料庫在進行CHECKDB時出現 SQL Server 檢測到基於一致性的邏輯 I/O 錯誤
先備份資料庫,在測試數中,將那9張表的數據先放到臨時表中,再刪除那9張表,重新建表,再從臨時表導入數據,如果刪除那9張表都失敗,表明9的數據一致性有問題,那就只能重新建新的資料庫,一個表一個表導數據.....