當前位置:首頁 » 數據倉庫 » 博樂資料庫修復
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

博樂資料庫修復

發布時間: 2022-08-25 00:05:33

資料庫損壞怎麼修復

access提供了壓縮和修復資料庫功能,可嘗試用該功能修復,以access2010為例方法如下:
1、啟動access2010,點擊資料庫工具選項卡--壓縮和修復資料庫命令;
2、瀏覽窗口選定要修復的資料庫,點擊打開;
3、輸入修復後資料庫的名稱,點擊保存;
4、打開修復後的資料庫,查看修復效果。

⑵ 資料庫被刪除了怎麼恢復

恢復步驟:
1、運行EasyRecovery。
2、選擇「DeletedRecovery」。
3、選擇資料庫文件所在的驅動器,在「File Filter」中輸入*.mdf|*.ldf,選擇「Next」。
4、在左側窗口會列出被刪除的資料庫文件,選擇所要恢復的資料庫文件,選擇「Next」。
5、在「Recover to Local Drive」中選擇恢復後的文件存放的路徑,要選擇與原資料庫文件不同的路徑,選擇「Next」。
6、文件被恢復後,將恢復的文件復制到原資料庫文件位置,並在企業管理器通過附加資料庫,將恢復的文件恢復到sql Server中。
註:如果刪除的資料庫文件所有的存儲區域被寫過了,就無法恢復了,所以刪除與恢復的時間間隔越短越好。

⑶ Borland InterBase Server資料庫損壞,通過ib fix 無法修復,提示,不可用資料庫【unavailable database

3、進入Command命令窗口

4、為了避免在以下命令行中每次都輸入用戶名與密碼,特設置以下兩個變數:

SET ISC_USER=SYSDBA

SET ISC_PASSWORD=masterkey

5、對損壞的資料庫進行檢查:

gfix -v -full abc.gdb

6、如果上一條命令已指出這個資料庫有問題,我們現在需要修復它:

gfix -mend -full -ignore abc.gdb

7、再檢查一遍,看資料庫是否修好:

gfix -v -full abc.gdb

8、如果仍有錯誤,你必須做一個數據備份與恢復操作:

gbak -backup -v -ignore abc.gdb abc.gbk

9、若上面方法備份失敗,關閉垃圾收集功能試試:

gbak -backup -v -ignore -garbage abc.gdb abc.gbk

10、如果仍未備份成功,可能是在一個過渡狀態的事務中記錄損壞,加上-limbo參數試試:

gbak -backup -v -ignore -garbage -limbo abc.gdb abc.gbk

11、從備份文件中恢復數據(仍不成功,我也沒辦法了)

⑷ 資料庫文件存在異常,請修復 怎麼弄

SQL Server 2000資料庫LDF損壞,只有mdf的恢復方法。
SQL Server 2000資料庫文件遭到破壞的現象經常出現,資料庫出錯是否可以修復呢?答案是可以的,本日誌以一個sql server 2000資料庫,資料庫日誌文件ldf損壞了,mdf正常,資料庫附加失敗的修復方法總結一下,資料庫數據恢復在很多時候比較復雜,當資料庫存在大量錯誤的時候,使用DBCC修復也是不可以的,需要拆解資料庫來搶救重要的數據,下面是較為常見的一種SQL Server 2000資料庫修復方式:
1) 先及時把原來的資料庫文件(如test.mdf)備份到其他地方。
2) 停掉伺服器。
3) 刪除這個test.mdf。
4) 重新建立一個test同名資料庫。
5) 刪除這個新建立的test資料庫的test.ldf文件,並用開始備份好test.mdf文件覆蓋這個新建立的test.mdf文件。
6) 啟動資料庫伺服器。此時會看到資料庫test的狀態為「置疑」。這時候不能對此資料庫進行任何操作。
.設置資料庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager裡面選擇資料庫伺服器,按右鍵,選擇「屬性」,在「伺服器設置」頁面中將「允許對系統目錄直接修改」。
7) 設置test為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此時可以在SQL Server Enterprise Manager裡面看到該資料庫處於「只讀\置疑\離線\緊急模式」可以看到資料庫裡面的表,但是僅僅有系統表
8) 下面執行真正的恢復操作,重建資料庫日誌文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
執行過程中,如果遇到下列提示信息:
伺服器: 消息 5030,級別 16,狀態 1,行 1
未能排它地鎖定資料庫以執行該操作。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
說明您的其他程序正在使用該資料庫,如果剛才您在操作中使用SQL Server Enterprise Manager打開了test庫的系統表,那麼退出SQL Server Enterprise Manager就可以了。

⑸ Sybase資料庫的修復

資料庫所用的設備正常,而庫demodb的狀態為suspect。
(1)以sa注冊
isql -u sa -P
1>
(2)修改server屬性,置系統表為允許修改該狀態。
1>sp_configure allow updates,1
2>go
3>recofigure with override
4>go
(3)Sybase資料庫修復,修改資料庫的狀態,置資料庫狀態為server啟動時不檢測。
1>update master.sysdatabases set status = -32768
2>where name = demodb
3>go
(4)重啟server。
(5)修改資料庫的狀態,置資料庫狀態為正常。
1>update master.sysdatabases set status = 0
2>where name =demodb
3>go
(6)修改server屬性,置系統表為不允許修改狀態。
1>sp_configure allowupdates,0
2>go
3>reconfigure with override
4>go
(7)再次重啟server。
至此,如果資料庫能夠正常,則恢復完畢,至此,Sybase資料庫修復完成。
以上步驟中,也可以用單用戶模式啟動server,命令為startserver -m,而不必修改server的allow updates屬性。SYBASE 11及以上版本的server只需重啟,不需要執行reconfigure with override。如果上述方法仍不能恢復資料庫,則只能使用dbcc命令刪除該資料庫,然後重新建立。

⑹ 怎麼修復資料庫

修復的方法:進入到資料庫的數據所在目錄,執行myisamchk -r modoer_shops即可。

比如你的數據目錄是在d:\mysql\data目錄下,那麼這個目錄下就每個資料庫有一個文件夾,在資料庫文件夾裡面執行上面的命令,如果mysql\bin不在PATH路徑裡面,那麼可以輸入其全稱,比如d:\mysql\bin\myisamchk。

⑺ 電腦上資料庫壞了該如何恢復正常

如果沒有主資料庫,您就無法成功地啟動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 Server服務,先將資料庫文件夾復制一份並安全存儲,對資料庫所在磁碟執行CHKDSK,排除磁碟錯誤,然後啟動SQL Server服務,嘗試修復資料庫:
1.在SQL Server Management Studio中隨便創建一個資料庫,例如:PVLink。
2.停止SQL Server服務。
如果不停止此服務,剛才創建的PVLink資料庫將即不能被拷貝,也不能被覆蓋。
3.把已經損壞的資料庫的mdf文件拷貝並覆蓋剛才新建的資料庫產生的mdf文件。
4.啟動SQL Server服務。
此時可以看見剛才創建的PVLink資料庫名字後面沒有加號,無法察看其任何信息,其實目前它已經處於無法使用的狀態。
5.把資料庫設置為緊急狀態。
通過在「查詢分析器」中執行:alter database PVLink set EMERGENCY 可以將資料庫設置為緊急狀態,此時資料庫PVLink的圖標改變成粉紅色並出現「緊急」字樣。
6.將資料庫設置為單用戶模式。
如果不設置為單用戶模式,我們將無法使用帶有效repair選項的DBCC CHECKDB來檢查/修復資料庫,SQL Server 2005設置單用戶模式比SQL Server 2000容易,只要在「查詢分析器」中執行:
use master
go
sp_dboption 'PVLink',single,true
7.修復資料庫
修復資料庫主要使用DBCC來操作,一般來講,我們可以使用以下三個選項來修復:
●REPAIR_ALLOW_ DATA_LOSS
嘗試修復報告的所有錯誤。這些修復可能會導致一些數據丟失。
●REPAIR_FAST
僅為保持向後兼容性而保留。
●REPAIR_REBUILD
執行由 REPAIR_FAST 執行的所有修復,包括需要較長時間的修復(如重建索引)。執行這些修復時不會有丟失數據的危險。
一般我們通過執行:DBCC CHECKDB('PVLink',REPAIR_REBUILD) 即可完成修復工作,此時 SQL Server 2005會給出很多提示,因為這個過程可能會導致一些資料庫設計或者數據的丟失,並且在這個過程中,會產生新的以ldf為擴展名的資料庫日誌文件。
8.完成以上的步驟後,一般情況下資料庫應該可用了,如果資料庫此時仍然是緊急狀態,可以通過:alter database PVLink set ONLINE ,把資料庫變成在線狀態。
檢查PVLink資料庫內數據是否正常,是的話換回原資料庫即可。

⑼ 怎樣修復已經損壞的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 替換成真實的資料庫名字。

⑽ 資料庫損壞了怎麼辦

有的時候因為掉電或者其他原因導致資料庫損壞,我們可以使用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博客