A. 我的 sql Server 庫出現「一致性」錯誤,請高手幫忙解決
使用DBCC checkdb,不要加後面的允許數據丟失的修復選項,試試
B. sql資料庫查詢中斷、無法修復的一致性錯誤、無法導出數據, 數據怎麼恢復
資料庫損壞最行之有效的辦法就是存在冗餘數據,使用冗餘數據進行恢復。所謂的冗餘數據包括熱備、冷備、和暖備。
使用鏡像或可用性組作為熱備,當檢測到錯誤時,可以自動進行頁修復(鏡像要求2008以上,可用性組是2012的功能)。鏡像當主體伺服器遭遇824錯誤時,會向鏡像伺服器發送請求,將損壞的頁由鏡像復制到主體解決該問題。對於可用性組,如果數據頁是在主副本上發現的,則主副本將會向所有輔助副本發送廣播,並由第一個響應的輔助副本的頁來修復頁錯誤,如果錯誤出現在只讀輔助副本,則會向主副本請求對應的頁來修復錯誤。在這里有一點值得注意的是,無論是哪一種高可用性技術,都不會將頁錯誤散播到冗餘數據中,因為SQL Server中所有的高可用性技術都是基於日誌,而不是數據頁。
其次是使用暖備或冷備來還原頁,我已經在代碼清單1中給出了詳細的代碼,這里就不細說了。
如果沒有合適的備份存在,如果損壞的數據頁是存在於非聚集索引上,那麼你很幸運,只需要將索引禁用後重建即可。
如果存在基準的完整備份,並且日誌鏈沒有斷裂(包括差異備份可以Cover日誌缺失的部分),則可以通過備份尾端日之後還原資料庫來進行修復。
最後,如果基礎工作做的並不好,您可能就需要通過損失數據的方式來換回資料庫的一致性,我們可以通過DBCC CheckDB命令的REPAIR_ALLOW_DATA_LOSS來修復資料庫。使用該方法可能導致數據損失,也可能不會導致數據損失,但大部分情況都會通過刪除數據來修復一致性。使用REPAIR_ALLOW_DATA_LOSS需要將資料庫設置為單用戶模式,這意味著宕機時間。
無論是哪種情況修復資料庫,都要考慮是否滿足SLA,如果出現了問題之後,發現無論用哪種方式都無法滿足SLA的話,那隻能檢討之前的准備工作並祈禱你不會因此丟了工作。
C. 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 聯機叢書。
D. SQL資料庫出現了一致性錯誤。。
SQL資料庫修復的問題一定要用達思SQL資料庫修復軟體,它可是全球最棒的SQL資料庫修復軟體了。而且在資料庫修復過程中遇到任何問題,還有資料庫修復專家指導。要下載去網路就可以,很多下載地址,我一般有什麼問題都是用這個軟體的
E. SQL 的備份文件還原時出現「發生內部一致性錯誤」
還原時,復選「在現有資料庫上強制還原」
F. SQLSERVER2008針對注冊表項一致性驗證失敗
SQLSERVER2008針對注冊表項一致性驗證失敗是設置錯誤造成的,解決方法為:
1、在薯斗系統桌面左下角點擊開始----點擊運行。
G. 資料庫置疑之後修復完,用 dbcc checkdb(資料庫名) 檢查數據的時候提示有一致性錯誤
資料庫置疑之後修復完,用 dbcc checkdb(資料庫名) 檢查數和桐搭據的輪帶時候提示有一致性錯誤是設置錯造成的,解決方法為:
1、使用phpMyAdmin 自帶的修復表,選中需要修復的表,然後點擊修復表。
H. 修復SQL2000資料庫置疑時出現的錯誤
備份數據文件,然後按下面的步驟處理: 1.新建一個同名的資料庫(數據文件與原來的要一致) 2.再停掉sql server(注意不要分離資料庫) 3.用原資料庫的數據文件覆蓋掉這個新建的資料庫 4.再重啟sql server 5.此時打開企業管理器時會出現置疑,先不管,執行下面的語句(注意修改其中的資料庫名) 6.完成後一般就可以訪問資料庫中的數據了,這時,資料庫本身一般還要問題,解決辦法是,利用 資料庫的腳本創建一個新的資料庫,並將數據導進去就行了. USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GO UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的資料庫名' Go sp_dboption '置疑的資料庫名', 'single user', 'true' Go DBCC CHECKDB('置疑的資料庫名') Go update sysdatabases set status =28 where name='置疑的資料庫名' Go sp_configure 'allow updates', 0 reconfigure with override Go sp_dboption '置疑的資料庫名', 'single user', 'false 假設資料庫為TEST: 按以下步驟執行 A.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」一項選中。也可以使用如下語句來實現。 use master go sp_configure 'allow updates',1 go reconfigure with override go B.設置test為緊急修復模式 update sysdatabases set status=-32768 where dbid=DB_ID('test') 此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表 C.下面執行真正的恢復操作,重建資料庫日誌文件 dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf') 執行過程中,如果遇到下列提示信息: 伺服器: 消息 5030,級別 16,狀態 1,行 1 未能排它地鎖定資料庫以執行該操作。 DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。 說明您的其他程序正在使用該資料庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。 正確執行完成的提示應該類似於: 警告: 資料庫 'test' 的日誌已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置資料庫選項,並且可能需要刪除多餘的日誌文件。
I. sql2000資料庫還原數據時發生「數據一致性錯誤」,急求解決方法!
是.bak的文件嗎?
如果是的話,可以把原來的庫刪除,
然後建立一個新庫,名字和原來的一樣.然後再還原.
J. sql2000檢查資料庫有一致性和分配性錯誤。求各位幫忙修復
http://blog.csdn.net/tongdoudpj/article/details/2032481