2019/4/5 9:28:35
1. 在SQL Server Management Studio中随便創建一個(gè)數據庫,例如(rú):PVLink。
2. 停止SQL Server服務。
如(rú)果不停止此服務,剛才創建的(de)PVLink數據庫将即不能(néng)被拷貝,也(yě)不能(néng)被覆蓋。
3. 把已經損壞的(de)數據庫的(de)mdf文(wén)件(jiàn)拷貝并覆蓋剛才新建的(de)數據庫産生的(de)mdf文(wén)件(jiàn)。
4. 啓動SQL Server服務。
此時可(kě)以看見剛才創建的(de)PVLink數據庫名字後面沒有(yǒu)加号,無法察看其任何信息,其實目前它已經處于無法使用(yòng)的(de)狀态。
5. 把數據庫設置爲緊急狀态。
通過在“查詢分(fēn)析器(qì)”中執行(xíng):alter database PVLink set EMERGENCY 可(kě)以将數據庫設置爲緊急狀态,此時數據庫PVLink的(de)圖标改變成粉紅色并出現“緊急”字樣。
use master
declare @databasename varchar(255)
set @databasename='InfoCollection2'
exec sp_dboption @databasename, N'single', N'true'
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'
6. 将數據庫設置爲單用(yòng)戶模式。
如(rú)果不設置爲單用(yòng)戶模式,我們将無法使用(yòng)帶有(yǒu)效repair選項的(de)DBCC CHECKDB來檢查/修複數據庫,SQL Server 2005設置單用(yòng)戶模式比SQL Server 2000容易,隻要在“查詢分(fēn)析器(qì)”中執行(xíng):
use master
go
sp_dboption 'PVLink',single,true
即可(kě)。
7. 修複數據庫
修複數據庫主要使用(yòng)DBCC來操作,一般來講,我們可(kě)以使用(yòng)以下三個(gè)選項來修複:
REPAIR_ALLOW_ DATA_LOSS
嘗試修複報告的(de)所有(yǒu)錯誤。這些修複可(kě)能(néng)會(huì)導緻一些數據丢失。
REPAIR_FAST
僅爲保持向後兼容性而保留。
REPAIR_REBUILD
執行(xíng)由 REPAIR_FAST 執行(xíng)的(de)所有(yǒu)修複,包括需要較長時間的(de)修複(如(rú)重建索引)。執行(xíng)這些修複時不會(huì)有(yǒu)丢失數據的(de)危險。
一般我們通過執行(xíng):DBCC CHECKDB('PVLink',REPAIR_REBUILD) 即可(kě)完成修複工(gōng)作,此時 SQL Server 2005會(huì)給出很多提示,因爲這個(gè)過程可(kě)能(néng)會(huì)導緻一些數據庫設計(jì)或者數據的(de)丢失,并且在這個(gè)過程中,會(huì)産生新的(de)以ldf爲擴展名的(de)數據庫日志文(wén)件(jiàn)。
8. 完成以上(shàng)的(de)步驟後,一般情況下數據庫應該可(kě)用(yòng)了,如(rú)果數據庫此時仍然是緊急狀态,可(kě)以通過:alter database PVLink set ONLINE ,把數據庫變成在線狀态。
以上(shàng)介紹的(de)方法對于通過“附加”的(de)方法無法恢複受到(dào)比較嚴重損壞的(de)數據庫比較有(yǒu)效,總的(de)來看,SQL Server 2005給數據庫管理(lǐ)和(hé)開(kāi)發提供了更加有(yǒu)效實用(yòng)的(de)工(gōng)具和(hé)方法。
深圳市南山區南山街(jiē)道南海(hǎi)大(dà)道西(xī)桂廟路(lù)北陽光(guāng)華藝大(dà)廈1棟4F、4G-04
咨詢電話(huà):136 8237 6272
大(dà)客戶咨詢:139 0290 5075
業(yè)務QQ:195006118
技術(shù)QQ:179981967