❶ 電腦上資料庫壞了該如何恢復正常
如果沒有主資料庫,您就無法成功地啟動SQL Server。在本文里,我將向您介紹在發生崩潰的情況下如何修復主資料庫,並告訴您如何重建主資料庫,如果有必要的話。
制定預案
制定一個應對崩潰和/或主資料庫故障的預案十分重要。這將有助於您在碰到災難的情況下按照既定的方法進行處理,而不是迫於壓力倉促作出反應。我碰到過很多很容易就陷入驚慌的狀況,但是由於保持冷靜並按照正確的方法來處理問題,我最後成功地度過了所有的困境。
怎麼才能知道您的主資料庫已經崩潰?
在正式開始討論碰到系統故障如何修復和重建的主資料庫之前,我們需要先了解如何辨別它已經崩潰了。要說明這一點,我會弄垮一個主資料庫,告訴您主資料庫崩潰會發生什麼樣的症狀。
現在讓我們假設您的公司碰到了電涌,造成SQL Server重啟。在重新啟動的時候,SQL Server卻沒有正常啟動。如果查看錯誤日誌,您會看到主資料庫崩潰或者丟失。既然您知道需要查看什麼信息,那就讓我們看看如何修復主資料庫。
修復您的主資料庫
修復主資料庫的第一步是使用「重建向導(Rebuild Wizard,Rebuildm.exe),它放在\Program Files\Microsoft SQL Server\80\Tools\BINN目錄下。現在就讓我們來看看重建向導是如何工作的。
雙擊Rebuildm.exe啟動對話框。
在這個對話框里,您可以指定資料庫伺服器的修復設置,以及原始安裝的數據文件的位置。要讓這一過程更容易和更快,就要把x86目錄從SQL的光碟上復制到硬碟上,並把指向改到本地的副本。一旦驗證完了所有的信息,點擊「重建(Rebuild)」。然後系統就會提示您確認操作
點擊「確定(Yes)」。一旦重建過程完成,您會看到一條重建成功的消息。您現在就有了一個全新的主資料庫,准備好修復主資料庫了。
首先,打開命令行提示符,輸入\Program Files\Microsoft SQL Server\MSSQL\BINN\目錄下的sqlservr.exe –c –m命令,啟動單用戶模式下的SQL Server。
在單用戶模式下啟動SQL Server之後,您可以利用備份文件修復主資料庫。您可以用「查詢分析器(Query Analyzer)」或者「SQL企業管理器(SQL Enterprise Manager)」來修復它。
如果使用企業伺服器,就要右擊主資料庫,選擇「所有任務|修復資料庫(All Tasks | Restore Database)」,瀏覽到您設備所在的位置,點擊兩次「OK」,您就可以成功地修復主資料庫了。
如果由於某種原因您的修復操作無法成功完成,那麼您可以試試別的方法。只用簡單地重建主資料庫並添加駐留在數據目錄下的所有資料庫就可以了。您可以用企業管理器或者查詢分析器來添加資料庫。在企業管理器里,右擊「資料庫(Databases)」,選擇「添加資料庫(Attach Database)」
❷ 怎樣修復已經損壞的SQL資料庫
1.停止SQL Server的服務,備份SQL Server安裝目錄下的\data子目錄
下故障資料庫的兩個文件,一個數據文件hbposv6_branch_data.mdf,
一個hbposv6_branch_log.ldf(也有可能非此命名),同時查看磁碟
空間是否有足夠的空間;
2.啟動SQL Server服務(如已停止),創建一個新的資料庫,命名為
原來資料庫的名字。
3.停止SQL Server
4.把老資料庫的MDF文件(hbposv6_branch_data.mdf)替換
新資料庫的相應的MDF文件,
並把LDF文件(hbposv6_branch_log.ldg)刪除。
5.重新啟動SQL Server服務,然後運行如下命令:
Use Master
go
sp_configure 'allow updates', 1
reconfigure with override
go
begin tran
update sysdatabases set status = 32768 where name = 'hbposv6_branch'
--Verify one row is updated before committing
commit tran
go
6.停止SQL然後重新啟動SQL Server服務,然後運行如下命令
(更換日誌文件路徑地址):
use master
go
DBCC TRACEON(3604)
DBCC REBUILD_LOG
('hbposv6_branch',
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\hbposv6_branch_log.ldf')
--在這里,請輸入你的資料庫的路徑
go
7.停止SQL然後重新啟動SQL Server服務,然後運行:
use master
go
update sysdatabases set status = 8 where name = 'hbposv6_branch'
go
sp_configure 'allow updates', 0
reconfigure with override
go
8.運行dbcc checkdb(db_name) 檢查資料庫的完整性
9.修復數庫
--請在查詢分析器中執行下列語句.執行前斷開其它
所有資料庫連接,最好是斷開網線
--如果不是該資料庫名,請將資料庫
--hbposv6_branch
--改為要修復的資料庫
USE master
Go
--單用戶模式
EXEC sp_dboption 'hbposv6_branch', 'single user', 'TRUE'
go
--資料庫檢查
DBCC CHECKDB ('hbposv6_branch')
Go
--如果返回結果出現了紅色的提示文字,說明資料庫中存在錯誤,需要修復
--資料庫修復
DBCC CHECKDB ('hbposv6_branch','repair_rebuild')
Go
--再次資料庫檢查,如果返回結果中沒有了紅色的提示文字,
說明修復成功;
DBCC CHECKDB ('hbposv6_branch')
Go
--否則意味著還需要更高級別的修復;嘗試將上面修復語句的
'repair_rebuild'換為'repair_allow_data_loss'再試,
之後再次檢查資料庫。
--如果還有錯誤未修復,請把這些信息以文字的方式發給我們
--退出前請一定要執行以下語句返回到多用戶模式
EXEC sp_dboption 'hbposv6_branch', 'single user','FALSE'
go
註:都要把 dbname 替換成真實的資料庫名字。
❸ 微信資料庫有損壞,怎麼解決
點擊微信朋友圈的時候系統會自動跳出提示,點擊【開始修復】,自動修復完成後點擊【確認後重啟】,自動重啟軟體即可。
微信朋友圈數據有損壞嘗試修復就是朋友圈裡面的數據,會在本地形成緩存。可能是你不小心把本地緩存刪除了,或是手機系統問題。之前緩存在本地的文件或照片,統統都沒有了。
微信使用注意事項
在使用微信聊天的時候,會持續的往存儲聊天記錄的位置存儲新的文件,如果你在刪除了聊天記錄後,還繼續使用微信進行聊天,這些新的文件有可能會覆蓋掉標記著「無人使用」的位置,從而導致記錄無法完全恢復。
如果說你打算利用上面的原理說到的記錄沒有被真的刪除這一點,然後使用iCloud或是iTunes來對手機數據進行備份,然後再恢復手機數據,從而恢復聊天記錄的話。
❹ 超市收銀機器顯示本地資料庫損壞怎麼辦呀
1 資料庫應用程序出錯
備份資料庫,重新安裝資料庫,恢復資料庫
2、資料庫出錯
修復表
❺ 怎樣修復已經損壞的SQL資料庫
1.停止SQL Server的服務,備份SQL Server安裝目錄下的\data子目錄
下故障資料庫的兩個文件,一個數據文件hbposv6_branch_data.mdf,
一個hbposv6_branch_log.ldf(也有可能非此命名),同時查看磁碟
空間是否有足夠的空間;
2.啟動SQL Server服務(如已停止),創建一個新的資料庫,命名為
原來資料庫的名字。
3.停止SQL Server
4.把老資料庫的MDF文件(hbposv6_branch_data.mdf)替換
新資料庫的相應的MDF文件,
並把LDF文件(hbposv6_branch_log.ldg)刪除。
5.重新啟動SQL Server服務,然後運行如下命令:
Use Master
go
sp_configure 'allow updates', 1
reconfigure with override
go
begin tran
update sysdatabases set status = 32768 where name = 'hbposv6_branch'
--Verify one row is updated before committing
commit tran
go
6.停止SQL然後重新啟動SQL Server服務,然後運行如下命令
(更換日誌文件路徑地址):
use master
go
DBCC TRACEON(3604)
DBCC REBUILD_LOG
('hbposv6_branch',
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\hbposv6_branch_log.ldf')
--在這里,請輸入你的資料庫的路徑
go
7.停止SQL然後重新啟動SQL Server服務,然後運行:
use master
go
update sysdatabases set status = 8 where name = 'hbposv6_branch'
go
sp_configure 'allow updates', 0
reconfigure with override
go
8.運行dbcc checkdb(db_name) 檢查資料庫的完整性
9.修復數庫
--請在查詢分析器中執行下列語句.執行前斷開其它
所有資料庫連接,最好是斷開網線
--如果不是該資料庫名,請將資料庫
--hbposv6_branch
--改為要修復的資料庫
USE master
Go
--單用戶模式
EXEC sp_dboption 'hbposv6_branch', 'single user', 'TRUE'
go
--資料庫檢查
DBCC CHECKDB ('hbposv6_branch')
Go
--如果返回結果出現了紅色的提示文字,說明資料庫中存在錯誤,需要修復
--資料庫修復
DBCC CHECKDB ('hbposv6_branch','repair_rebuild')
Go
--再次資料庫檢查,如果返回結果中沒有了紅色的提示文字,
說明修復成功;
DBCC CHECKDB ('hbposv6_branch')
Go
--否則意味著還需要更高級別的修復;嘗試將上面修復語句的
'repair_rebuild'換為'repair_allow_data_loss'再試,
之後再次檢查資料庫。
--如果還有錯誤未修復,請把這些信息以文字的方式發給我們
--退出前請一定要執行以下語句返回到多用戶模式
EXEC sp_dboption 'hbposv6_branch', 'single user','FALSE'
go
註:都要把 dbname 替換成真實的資料庫名字。
❻ 資料庫損壞如何修復(bcp)
ORDER BY NAME把查詢的結果集全部復制下來,新建一個文本文件取名為「導出.bat」把結果集復制進去並保存,把該文件存放在d盤目錄下。2.在查詢分析器中選擇思迅資料庫運行:
select 'bcp 問題資料庫..'+name + ' IN '+'d:\testdb\'+name+'.txt -c -Usa -S伺服器名小寫 -P ' FROM SYSOBJECTS WHERE TYPE = 'U'
ORDER BY NAME
把查詢的結果集全部復制下來,新建一個文本文件取名為「導入.bat」把結果集復制進去並保存,把該文件存放在d盤目錄下。3.運行「導出.bat」(注意:該文件雙擊即可運行),資料庫中的數據會倒出到TESTDB目錄中。4.刪除原來的問題資料庫,重新建立新的資料庫。5.在查詢分析器中選擇思迅資料庫運行:
select 'delete '+name FROM SYSOBJECTS WHERE TYPE = 'U'
然後把返回的結果集復制,新建一個查詢分析器窗口,把復制的內容粘貼下運行!6.最後運行「導入.bat」 ,倒入成功後就恢復資料庫了!7.最後在查詢分析器中選擇思迅資料庫運行
use hbposv5goupdate t_sys_system set sys_var_value=(select max(flow_id) from t_im_flow where num2=1) where sys_var_id='ioflow_pointer'
go8.日結,檢查數據。注意:a.請根據語句中的漢字提示,進行修改對應內容。如:語句中的「問題資料庫」,修改為hbposv5
❼ 資料庫文件損壞了,還可以恢復嗎
關於這個問題,要看損壞的是什麼文件,以ORACLE資料庫為例1控制文件,每個資料庫默認有三個控制文件內容一樣(比如CTRL01.DBF,CTRL02.DBF,CTRL03.DBF),損壞其中兩個,只需把好的那個拷貝成另外兩個的名稱即可。如果所有控制文件都壞了,需要啟動實例到nomount狀態重建控制文件,前提是之前最好做過;會得到一個重建控制文件的腳本2在線日誌(redolog),如果每個日誌組(group)的member(成員)不止一個,同一組內的在線日誌只要有一個完好,同樣可以通過拷貝方式(停止資料庫後)恢復。3TEMP表空間數據文件,可以理解為資料庫用的臨時文件,損壞後基本無數據損失,可以通過重建temp表空間恢復4.SYSTEM系統表空間,這個掛了基本上必須靠恢復了,前提是要有備份4.其它數據表空間4.1.有備份,可以恢復,但可能丟失數據4.2.未備份,無法恢復該表空間數據,可以選擇使該表空間離線(offline),恢復其它數據
❽ SQL資料庫文件損壞,怎麼修復
可以修復,從故障解析,資料庫損壞分為邏輯層損壞和物理層損壞。
1,邏輯損壞是指,文件本身完整,系統表在邏輯結構上混亂造成的錯誤。
2,物理損壞是指,文件由於不完整,導致置疑等故障
資料庫損壞,由斷電,非法關機,系統重啟,文件被誤刪除,誤ghost自己恢復出來的文件附加失敗,陣列崩潰等原因造成的。
邏輯層修復方法,網上有很多dbcc修復命令,可以區嘗試下、
物理層還是找專業人員吧!
❾ SQL 2000 資料庫備份文件損壞如何修復
如果你的備份文件損壞了,那就不能恢復這個備份了,如果是你的資料庫文件.MDF損壞了,那你可以把原來的資料庫分離了,把資料庫文件先考到別的目錄下,然後在企業管理器里新建立個資料庫和原來的名字一樣的,文件位置也放到原來的位置,建立完這個資料庫以後再恢復資料庫,在選項里,把強制還原資料庫選上,然後確認恢復,應該就可以了