1、開啟數(shù)據(jù)庫

網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁制作,對成都茶樓設(shè)計等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(wǎng)站優(yōu)化推廣哪家好,專業(yè)成都網(wǎng)站營銷優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
2、從企業(yè)管理器,建一個同名的數(shù)據(jù)庫
3、停止sql
server
4、用原mdf文件覆蓋新建庫的數(shù)據(jù)庫文件
5、重啟sql
server(這時數(shù)據(jù)庫應(yīng)該是置疑)
6、修改服務(wù)器設(shè)置:允許對系統(tǒng)目錄進(jìn)行直接修改
sp_configure
'allow
updates',1
reconfigure
with
override
7、將數(shù)據(jù)庫置為緊急狀態(tài):
update
master.dbo.sysdatabases
set
status
=
32768
where
name
=
'數(shù)據(jù)庫名'
8、刪除新的ldf文件,重建日志:
dbcc
rebuild_log('數(shù)據(jù)庫名',
'f:\數(shù)據(jù)庫名_log_new.ldf')--假設(shè)把新日志在f盤
9、update
master.dbo.sysdatabases
set
status
=
16
where
name
=
'數(shù)據(jù)庫名'
10、修改服務(wù)器設(shè)置:取消
允許對系統(tǒng)目錄進(jìn)行直接修改
sp_configure
'allow
updates',
reconfigure
with
override
11、再使用檢查工具修復(fù)錯誤
use
[數(shù)據(jù)庫名]
alter
database
[數(shù)據(jù)庫名]
set
single_user
with
rollback
immediate
dbcc
checkdb
('數(shù)據(jù)庫名',REPAIR_ALLOW_DATA_LOSS)
alter
database
[數(shù)據(jù)庫名]
set
multi_user
執(zhí)行完畢之后,如果還有錯誤,重復(fù)執(zhí)行11,直到?jīng)]有錯誤為止。
SQL Server中誤刪除數(shù)據(jù)的恢復(fù)本來不是件難事,從事務(wù)日志恢復(fù)即可。但是,這個恢復(fù)需要有兩個前提條件:
1. 至少有一個誤刪除之前的數(shù)據(jù)庫完全備份。
2. 數(shù)據(jù)庫的恢復(fù)模式(Recovery mode)是“完整(Full)”。
針對這兩個前提條件,會有三種情況:
情況一、如果這兩個前提條件都存在,通過SQL語句只需三步就能恢復(fù)(參考文章),無需借助第三方工具。
a) 備份當(dāng)前數(shù)據(jù)庫的事務(wù)日志:BACKUP LOG [數(shù)據(jù)庫名] TO disk= N'備份文件名' WITH NORECOVERY
b) 恢復(fù)一個誤刪除之前的完全備份:RESTORE DATABASE [數(shù)據(jù)庫名] FROM DISK = N'完全備份文件名' WITH NORECOVERY, REPLACE
c) 將數(shù)據(jù)庫恢復(fù)至誤刪除之前的時間點(diǎn):RESTORE LOG [數(shù)據(jù)庫] FROM DISK = N'第一步的日志備份文件名' WITH STOPAT = N'誤刪除之前的時間點(diǎn)' , RECOVERY
情況二、如果第1個前提條件不存在,第2個前提條件存在,需要借助第三方工具。
情況三、如果第2個前提條件不存在,無法恢復(fù)。所以,一定要將數(shù)據(jù)庫恢復(fù)模式設(shè)置為“完整(Full)”。
我現(xiàn)在面臨的是第二種情況,需要找第三方工具。
開始找的是Log Explorer for SQL Server,不支持SQL Server 2008。
后來找的是SQL Log Rescue,也不支持SQL Server 2008。
接著找到的是SysTools SQL Recovery,支持SQL Server 2008,但需要購買,Demo版并沒有數(shù)據(jù)恢復(fù)功能。
最終在officerecovery.com上找到Recovery for SQL Server,雖然也是商業(yè)軟件,需要購買,但Demo版可以恢復(fù)數(shù)據(jù),只要數(shù)據(jù)庫文件不超過24Gb。幸好朋友的數(shù)據(jù)庫文件不大,用它完成了誤刪除數(shù)據(jù)的恢復(fù)。
下面分享一下用Recovery for SQL Server進(jìn)行恢復(fù)的操作步驟:
1. 運(yùn)行Recovery for SQL Server
2. 點(diǎn)擊菜單中的 File Recover,選擇要恢復(fù)的數(shù)據(jù)庫的數(shù)據(jù)文件(.mdf)
3. Next Next,進(jìn)入 Recovery Configuration 界面,選擇Custom(選擇了Custom才可以選擇從日志中恢復(fù)誤刪除的數(shù)據(jù))。
4. Next 進(jìn)入 Recovery options 窗口,選中 Search for deleted records,并選擇要恢復(fù)的數(shù)據(jù)庫的日志文件路徑(log file path)。
5. Next 并選擇目標(biāo)文件夾(Destination folder),用于存放恢復(fù)過程中生成的SQL語句與bat文件。
6. 點(diǎn)擊Start,開始恢復(fù)操作(在上一步選擇的目標(biāo)文件夾中生成相應(yīng)的SQL文件與Bat文件),然后,出現(xiàn) SQL Server Database Creation Utility 窗口。
7. Next,選擇被恢復(fù)數(shù)據(jù)存放的目標(biāo)數(shù)據(jù)庫。
8. Next, 選擇 Import availiable data from both database and log files
9. Next, Next, 然后就完成數(shù)據(jù)的恢復(fù)!
--1、修改數(shù)據(jù)庫為緊急模式ALTER DATABASE Stock SET EMERGENCY--2、使數(shù)據(jù)庫變?yōu)閱斡脩裟J紸LTER DATABASE Stock SET SINGLE_USER --3、修復(fù)數(shù)據(jù)庫日志重新生成,此命令檢查的分配,結(jié)構(gòu),邏輯完整性和所有數(shù)據(jù)庫中的對象錯誤。當(dāng)您指定“REPAIR_ALLOW_DATA_LOSS”作為DBCC CHECKDB命令參數(shù),該程序?qū)z查和修復(fù)報告的錯誤。但是,這些修復(fù)可能會導(dǎo)致一些數(shù)據(jù)丟失。DBCC CheckDB (Stock, REPAIR_ALLOW_DATA_LOSS)--4、使數(shù)據(jù)庫變回為多用戶模式ALTER DATABASE Stock SET MULTI_USER1:重新建立一個,一樣的數(shù)據(jù)庫,路徑名稱,文件都一樣哈;2:關(guān)掉SQLSERVER服務(wù);3:把源文件COPY過來;4:開啟SQLSERVER服務(wù);5:執(zhí)行上面的1到4步。OK
最近在網(wǎng)上看到破解版本的SQL SERVER 的數(shù)據(jù)庫修復(fù)軟件越來越多,在
閑時,下載了所有的試用版本及已經(jīng)破解版本,找到以前保留的損壞MDF,進(jìn)
行一番比較。斷斷續(xù)續(xù)經(jīng)過幾天的比較,這些軟件的功能與特點(diǎn)基本上了解清楚,
寫出來,與大家共享。
RecoveryToolboxForSQLServer(產(chǎn)地:俄國)
特點(diǎn):數(shù)據(jù)恢復(fù)效果較好,對于庫結(jié)構(gòu)恢復(fù)較正常。
使用:直接選擇損壞的MDF 文件,將修復(fù)結(jié)果直接輸出到SQLSERVER 中。
或者保存成SQL 腳本文件。
SysTools SQL Recovery(產(chǎn)地不詳)
特點(diǎn):顯示數(shù)據(jù)時,對中文不支持,只顯示出UniCode,在運(yùn)行時容易程度中
斷直接退出;此軟件有些像RecoveryToolboxForSQLServer
使用:直接選擇損壞的MDF 文件,將修復(fù)結(jié)果直接輸出到SQLSERVER 中。
或者保存成SQL 腳本文件。
officerecovery 中的 Recovery for SQL Server(產(chǎn)地:美國)
特點(diǎn):支持BAK,LOG 文件,但修復(fù)后的數(shù)據(jù)容易丟失,庫結(jié)構(gòu)提較取較完整。
使用:直接選擇損壞的MDF 文件,將修復(fù)結(jié)果直接輸出到SQLSERVER 中。
或者保存成SQL 腳本文件。
Kernel for SQL Database(產(chǎn)地:印度)
特點(diǎn):恢復(fù)效果好,但日期的顯示,它是用國外的方式,庫結(jié)構(gòu)提取一般。
使用:直接選擇損壞的MDF 文件,將修復(fù)結(jié)果直接輸出到SQLSERVER 中。
或者保存成SQL 腳本文件。
Stellar Phoenix SQL Recovery (產(chǎn)地:印度)
特點(diǎn):數(shù)據(jù)恢復(fù)效果較好,程序運(yùn)行時易不正常退出,庫結(jié)構(gòu)提取不出來。
使用:直接選擇損壞的MDF 文件,將修復(fù)結(jié)果直接輸出到SQLSERVER 中。
無法保存成SQL 腳本。
上述軟件都已經(jīng)有破解版本或者免費(fèi)版本,大家在選擇時應(yīng)該有所了解。
說明:庫結(jié)構(gòu)提取不完整,修復(fù)后的數(shù)據(jù)雖然可以在SQL SERVER 中附加,查
看,導(dǎo)出,備份,但在應(yīng)用軟件下是無法連接此數(shù)據(jù)庫的,經(jīng)過對上述軟件修復(fù)后的數(shù)據(jù)庫文件進(jìn)行研究,已經(jīng)找到解決MDF 文件加軟件的辦法,有此修復(fù)需
最近在網(wǎng)上看到破解版本的SQL SERVER 的數(shù)據(jù)庫修復(fù)軟件越來越多,在\x0d\x0a閑時,下載了所有的試用版本及已經(jīng)破解版本,找到以前保留的損壞MDF,進(jìn)\x0d\x0a行一番比較。斷斷續(xù)續(xù)經(jīng)過幾天的比較,這些軟件的功能與特點(diǎn)基本上了解清楚,\x0d\x0a寫出來,與大家共享。\x0d\x0aRecoveryToolboxForSQLServer(產(chǎn)地:俄國)\x0d\x0a特點(diǎn):數(shù)據(jù)恢復(fù)效果較好,對于庫結(jié)構(gòu)恢復(fù)較正常。\x0d\x0a使用:直接選擇損壞的MDF 文件,將修復(fù)結(jié)果直接輸出到SQLSERVER 中。\x0d\x0a或者保存成SQL 腳本文件。\x0d\x0aSysTools SQL Recovery(產(chǎn)地不詳)\x0d\x0a特點(diǎn):顯示數(shù)據(jù)時,對中文不支持,只顯示出UniCode,在運(yùn)行時容易程度中\(zhòng)x0d\x0a斷直接退出;此軟件有些像RecoveryToolboxForSQLServer\x0d\x0a使用:直接選擇損壞的MDF 文件,將修復(fù)結(jié)果直接輸出到SQLSERVER 中。\x0d\x0a或者保存成SQL 腳本文件。\x0d\x0aofficerecovery 中的 Recovery for SQL Server(產(chǎn)地:美國)\x0d\x0a特點(diǎn):支持BAK,LOG 文件,但修復(fù)后的數(shù)據(jù)容易丟失,庫結(jié)構(gòu)提較取較完整。\x0d\x0a使用:直接選擇損壞的MDF 文件,將修復(fù)結(jié)果直接輸出到SQLSERVER 中。\x0d\x0a或者保存成SQL 腳本文件。\x0d\x0aKernel for SQL Database(產(chǎn)地:印度)\x0d\x0a特點(diǎn):恢復(fù)效果好,但日期的顯示,它是用國外的方式,庫結(jié)構(gòu)提取一般。\x0d\x0a使用:直接選擇損壞的MDF 文件,將修復(fù)結(jié)果直接輸出到SQLSERVER 中。\x0d\x0a或者保存成SQL 腳本文件。\x0d\x0aStellar Phoenix SQL Recovery (產(chǎn)地:印度)\x0d\x0a特點(diǎn):數(shù)據(jù)恢復(fù)效果較好,程序運(yùn)行時易不正常退出,庫結(jié)構(gòu)提取不出來。\x0d\x0a使用:直接選擇損壞的MDF 文件,將修復(fù)結(jié)果直接輸出到SQLSERVER 中。\x0d\x0a無法保存成SQL 腳本。\x0d\x0a上述軟件都已經(jīng)有破解版本或者免費(fèi)版本,大家在選擇時應(yīng)該有所了解。\x0d\x0a說明:庫結(jié)構(gòu)提取不完整,修復(fù)后的數(shù)據(jù)雖然可以在SQL SERVER 中附加,查\x0d\x0a看,導(dǎo)出,備份,但在應(yīng)用軟件下是無法連接此數(shù)據(jù)庫的,經(jīng)過對上述軟件修復(fù)后的數(shù)據(jù)庫文件進(jìn)行研究,已經(jīng)找到解決MDF 文件加軟件的辦法,有此修復(fù)需
1、確保備份下的master數(shù)據(jù)庫與要恢復(fù)的SQL SERVER的版本一致性。
2、關(guān)閉打開SQL Server Management Studio,打開服務(wù)器管理器,點(diǎn)擊“配置”-“服務(wù)”,找到SQL SERVER服務(wù),右鍵點(diǎn)擊出快捷菜單。點(diǎn)擊“停止”停止MSSQLSERVER服務(wù)。
3、以管理員賬戶打開cmd,輸入以下的命令:net start mssqlserver?/m。
4、打開SQL Server Management Studio,出現(xiàn)連接到服務(wù)器的窗口,點(diǎn)擊取消。
5、點(diǎn)擊“新建查詢”,出現(xiàn)連接到服務(wù)器的窗口,點(diǎn)擊確定。因為是單用戶模式,因此只能有一個鏈接進(jìn)入。
6、在查詢窗口輸入以下的命令。
7、重新啟動SQL SERVER(MSSQLSERVER)服務(wù),右鍵點(diǎn)擊出快捷菜單。點(diǎn)擊“啟動”啟動服務(wù)就可以了。
網(wǎng)站標(biāo)題:sqlserver修復(fù),sqlserver修復(fù)比新裝還要慢
標(biāo)題URL:http://chinadenli.net/article43/dsgsges.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)、微信公眾號、域名注冊、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)