資料庫損壞
① master資料庫損壞的解決辦法有哪些
遇到損壞或者錯誤的master資料庫是最難解決情況之一。
Master資料庫包含了sql Server需要的關鍵信息。如果master資料庫出錯,那麼SQL Server就不能啟動。要在這種情況下還原master資料庫,可以按照下面這些步驟來從災難中恢復過來:
1. 使用\PRogram Files\Microsoft SQL Server\80\Tools\Binn目錄下的rebuidm.exe文件重建master資料庫。重建master資料庫可以使資料庫文件完整無缺。為以防萬一,經常把數據和日誌文件備份到一個單獨的目錄是個不錯的主意。
2. 使用-m參數啟動SQL Server,這樣可以以單用戶模式重新啟動SQL Server。
3. 從最近一次已知最好的備份來還原master資料庫。
4. 核實master資料庫是不是已經成功還原:確認所有資料庫都已恢復正常運行。從最近一次已知最好的備份來還原msdb資料庫。
5. 以普通模式停止和啟動SQL Server。
6. 向生產用戶開放資料庫。
如果這樣做沒有效,那麼重建master資料庫然後附加這個資料庫。master資料庫出現問題,那麼伺服器上所有的資料庫都會出現問題。
總的來說,恢復時要完成的第一個步驟就是安裝一個新的master資料庫,使伺服器至少能夠啟動。
② 資料庫損壞了怎麼辦
有的時候因為掉電或者其他原因導致資料庫損壞,我們可以使用mysql自帶的mysqlcheck命令來快速修復所有的資料庫或者特定的資料庫;例如
檢查優化並修復所有的資料庫用:
# mysqlcheck -A -o -r -p
Enter password:
database1 OK
database2 OK
----------
修復指定的資料庫用
# mysqlcheck -A -o -r Database_NAME -p
即可
另外如果只是對某個表進行修復可以用:myisamchk或isamchk
其中myisamchk適用於MYISAM類型的數據表,而isamchk適用於ISAM類型的數據表。這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為預設的數據表類型,這里以myisamchk為例子進行說明。當發現某個數據表出現問題時可以使用:
myisamchk tablename.MYI
進行檢測,如果需要修復的話,可以使用:
myisamchk -of tablename.MYI
關於myisamchk的詳細參數說明,可以參見它的使用幫助。需要注意的時在進行修改時必須確保MySQL伺服器沒有訪問這個數據表,保險的情況下是最好在進行檢測時把MySQL伺服器Shutdown掉。
另外可以把下面的命令放在你的rc.local裡面啟動MySQL伺服器前:
[ -x /tmp/mysql.sock ] && /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL監聽的Sock文件位置,對於使用RPM安裝的用戶應該是 /var/lib/mysql/mysql.sock,對於使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而 pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL資料庫存放的位置。
1,簡單的修復模式
myisamchk -r -q path/資料庫/壞表.MYI
注:-r ----恢復模式 -q ----快速修復
2,使用安全修復模式
myisamchk --safe-recover path/資料庫/壞表.MYI
3,困難的修復模式
如果在索引文件的第一個16K塊被破壞,或包含不正確的信息,或如果索引文件丟失,你只應該到這個階段 。在這種情況下,創建一個新的索引文件是必要的。按如下這樣做:
把數據文件移更安全的地方。
使用表描述文件創建新的(空)數據和索引文件:
shell> mysql db_name
mysql> Delete FROM tbl_name;
mysql> quit
將老的數據文件拷貝到新創建的數據文件之中。(不要只是將老文件移回新文件之中;你要保留一個副本以防某些東西出錯。)
回到階段2。現在myisamchk -r -q應該工作了。(這不應該是一個無限循環)。
4,非常困難的修復模式
只有描述文件也破壞了,你才應該到達這個階段。這應該從未發生過,因為在表被創建以後,描述文件就不再改變了。
從一個備份恢復描述文件並且回到階段3。你也可以恢復索引文件並且回到階段2。對後者,你應該用myisamchk -r啟動。
如果你沒有一個備份但是確切地知道表是怎樣被創建的,在另一個資料庫中創建表的一個拷貝。刪除新的數據文件,然後從其他資料庫將描述和索引文件移到破壞的資料庫中。這給了你新的描述和索引文件,但是讓數據文件獨自留下來了。回到階段2並且嘗試重建索引文件。
5,優化表結構
myisamchk -r 表
也可以使用sql語句來優化OPTIMIZE TABLE
本方法參考自mouse博客
③ 為什麼無緣無故出現資料庫損壞
TX伺服器的問題。等下應該就正常了。。。。如果老是這樣,建議你用超級兔子修復下IE。。。
已經提示了伺服器在維護,就是伺服器的問題,不管你瀏覽器的事。。
④ SQL資料庫文件損壞,怎麼修復
如果只是BLACK.LST丟失或損壞應該可以進行更新來修復,因為更新的時候一部分就是在更新此文件...如果無法更新,無須完全卸載,直接重新裝下,覆蓋下即可
⑤ 跪求,我的MySQL資料庫損壞了,怎麼修復啊
mysqlcheck -a -c -o -r database table -uroot -p
-p後是密碼
⑥ SQL Server的資料庫損壞了怎麼辦
這個問題到目前為止(2008/11/25)共有2位客戶遇到,當時的狀況是:Outlook能夠正常收發郵件,但Webmail訪問時一點登錄就出現上述錯誤信息。 為什麼資料庫會損壞? 這個原因會有很多,例如突然斷電、磁碟壞了等,具體到您這里是什麼原因,這得要問微軟公司才能知道了。DB Mail Server只是通過ADO標准介面來訪問資料庫,用的是標準的SQL語句,沒有任何對資料庫進行破壞性的操作。DB Mail Server的可能就就在於訪問資料庫的量會大一些,類似於BT下載多了硬碟可能出錯一樣。 第1步. 關閉目前的DBMail. 假設目錄在C:DBMailPro. 第2步. 按如下的指導,再安裝一個新的DBMail: 1) 運行 dbmailsetup.exe安裝包, 安裝到C:DBTemp. 2) 運行C:DBTemp下的aamailsvr.exe,此時會顯示初次設置向導。 3) 在向導中選擇SQL已經安裝, 在輸入SQL參數時, 選中"改變預設參數". 4) 把資料庫名稱改為 dbmail,這時資料庫文件會為C:DBTempdbsdbmail.mdf. 5) 下一步,取消「啟動Webmail」. 6) 下一步至安裝完成,啟動主界面, 然後退出。 第3步. 進入SQL Server企業管理器,將有dbmail資料庫,下面進行數據復制: 1) 右鍵選擇dbmail資料庫,選擇任務中的DTS數據導入. 2) 選擇從dbmailpro導入數據,用Windows集成驗證模式. 3) 選擇表=>表的復制方式,選擇全部表,復制並覆蓋數據. 4) 執行數據復制. 第4步.在SQL企業管理器中,右鍵選擇dbmail資料庫,執行「任務=>分離」,把dbmail資料庫分離。 第5步.把C:DBTempdbsdbmail.mdf和dbmail.ldf移動到C:DBMailProdbs目錄中. 第6步. 打開C:DBMailProaamailsvr.ini文件, 修改[Database]段中以下值: DatabaseName = dbmail DatabaseFile = c:DBMailProdbsdbmail.mdf 第7步. 在企業管理器中, 選擇「任務=>附加」,附加入C:DBTempdbsdbmail.mdf. 第8步. 啟動C:DBMailPro下的aamailsvr.exe,此時DBMail應該能夠正常運行了。 第9步. 恢復成功,最後進行清理: 1) C:DBTemp文件夾可以全部刪除.
⑦ 資料庫損壞怎麼修復
access提供了壓縮和修復資料庫功能,可嘗試用該功能修復,以access2010為例方法如下:
1、啟動access2010,點擊資料庫工具選項卡--壓縮和修復資料庫命令;
2、瀏覽窗口選定要修復的資料庫,點擊打開;
3、輸入修復後資料庫的名稱,點擊保存;
4、打開修復後的資料庫,查看修復效果。
⑧ 如何修復MYSQL資料庫因斷電造成的數據損壞
修復MYSQL資料庫因斷電造成的數據損壞在使用MySQL資料庫的時候,都碰到過因斷電造成資料庫損壞的情況,大家都知道,斷電或非正常關機是導致MySQL資料庫出現錯誤最常見的原因,如何恢復MySQL資料庫是大家都非常頭痛的問題。目前有方法可以幫助大家恢復損壞的MySQL資料庫嗎?當用戶出現斷電造成的MySQL資料庫丟失損壞時,如果能進入MySQL軟體,但是提示錯誤信息,用戶可以通過「系統維護」—「資料庫壓縮修復」,壓縮下資料庫(有些軟體在「系統設置」—「系統維護」—「資料庫備份恢復」中),這種方法只適合一小部分的資料庫故障修復,功能性並不高。現在網路上有兩種比較推薦使用的MySQL資料庫恢復方法,一種方法使用MySQL(和PHP搭配之最佳組合)的check table和repair table 的sql語句,另一種方法是使用MySQL(和PHP搭配之最佳組合)提供的多個myisamchk, isamchk數據檢測恢復工具。在很多用戶看來,這兩個方法都比較復雜,並不適合大多數的用戶使用。另外,這兩種方法並不能有效的恢復MySQL資料庫,可能還會造成資料庫被進一步損壞,造成大家無法挽回的損失。根據以上幾個原因,這兩種MySQL資料庫恢復方法並不建議大家使用。。資料庫被損壞分以下幾種情況:1、嚴重損壞2、輕度損壞3、有些表被損壞或有些表的部分記錄被損壞如何修復MYSQL資料庫因斷電造成的數據損壞
⑨ 微信出現資料庫損壞是什麼意思
微信資料庫損壞,這是由於你的操作系統和該版本的微信不兼容或者你的微信軟體有損壞。
如果確定損壞的數據則需要第三方的軟體去修復,目前可以修復的軟體還是很多的,蘋果應用商店就可以直接下載。