SQL Server2008 數(shù)據(jù)庫(kù)誤刪除數(shù)據(jù)的恢復(fù)方法分享_Mssql數(shù)據(jù)庫(kù)教程
推薦:SQLSERVER2008中CTE的Split與CLR的性能比較之前曾有一篇POST是關(guān)于用CTE實(shí)現(xiàn)Split,這種方法已經(jīng)比傳統(tǒng)的方法高效了。今天我們就這個(gè)方法與CLR實(shí)現(xiàn)的Split做比較。在CLR實(shí)現(xiàn)Split函數(shù)的確很簡(jiǎn)單,dotnet framework本身就有這個(gè)function了。
SQL Server中誤刪除數(shù)據(jù)的恢復(fù)本來(lái)不是件難事,從事務(wù)日志恢復(fù)即可。但是,這個(gè)恢復(fù)需要有兩個(gè)前提條件:
1. 至少有一個(gè)誤刪除之前的數(shù)據(jù)庫(kù)完全備份。
2. 數(shù)據(jù)庫(kù)的恢復(fù)模式(Recovery mode)是“完全(Full)”。
針對(duì)這兩個(gè)前提條件,會(huì)有三種情況:
情況一、如果這兩個(gè)前提條件都存在,通過(guò)SQL語(yǔ)句只需三步就能恢復(fù)(),無(wú)法借助第三方工具。
a) 備份當(dāng)前數(shù)據(jù)庫(kù)的事務(wù)日志:BACKUP LOG [數(shù)據(jù)庫(kù)名] TO disk= N'備份文件名' WITH NORECOVERY
b) 恢復(fù)一個(gè)誤刪除之前的完全備份:RESTORE DATABASE [數(shù)據(jù)庫(kù)名] FROM DISK = N'完全備份文件名' WITH NORECOVERY, REPLACE
c) 將數(shù)據(jù)庫(kù)恢復(fù)至誤刪除之前的時(shí)間點(diǎn):RESTORE LOG [數(shù)據(jù)庫(kù)] FROM DISK = N'第一步的日志備份文件名' WITH STOPAT = N'誤刪除之前的時(shí)間點(diǎn)' , RECOVERY
情況二、如果第1個(gè)前提條件不存在,第2個(gè)前提條件存在,需要借助第三方工具。
情況三、如果第2個(gè)前提條件不存在,無(wú)法恢復(fù)。所以,一定要將數(shù)據(jù)庫(kù)恢復(fù)模式設(shè)置為“完全(Full)”。
我現(xiàn)在面臨的是第二種情況,需要找第三方工具。
開(kāi)始找的是Log Explorer for SQL Server,不支持SQL Server 2008。
后來(lái)找的是,也不支持SQL Server 2008。
接著找到的是,支持SQL Server 2008,但需要購(gòu)買(mǎi),Demo版并沒(méi)有數(shù)據(jù)恢復(fù)功能。
最終在officerecovery.com上找到,雖然也是商業(yè)軟件,需要購(gòu)買(mǎi),但Demo版可以恢復(fù)數(shù)據(jù),只要數(shù)據(jù)庫(kù)文件不超過(guò)24Gb。幸好朋友的數(shù)據(jù)庫(kù)文件不大,用它完成了誤刪除數(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ù)庫(kù)的數(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ù)庫(kù)的日志文件路徑(log file path)。

5. Next 并選擇目標(biāo)文件夾(Destination folder),用于存放恢復(fù)過(guò)程中生成的SQL語(yǔ)句與bat文件。

6. 點(diǎn)擊Start,開(kāi)始恢復(fù)操作(在上一步選擇的目標(biāo)文件夾中生成相應(yīng)的SQL文件與Bat文件),然后,出現(xiàn) SQL Server Database Creation Utility 窗口。

7. Next,選擇被恢復(fù)數(shù)據(jù)存放的目標(biāo)數(shù)據(jù)庫(kù)。

8. Next, 選擇 Import availiable data from both database and log files

9. Next, Next, 然后就完成數(shù)據(jù)的恢復(fù)!

接下來(lái),就是慶祝勝利!慶祝勝利最好的方式就是寫(xiě)一篇博客!< body>
分享:SQL SERVER 2008 CTE生成結(jié)點(diǎn)的FullPathSQL SERVER 2008 使用CTE是經(jīng)常的事兒,有時(shí)我們想存儲(chǔ)一些冗余數(shù)據(jù),像每個(gè)結(jié)點(diǎn)的FullPath。
- sql 語(yǔ)句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無(wú)法查看數(shù)據(jù)庫(kù),提示 無(wú)法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語(yǔ)句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類(lèi)似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過(guò)程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫(kù)教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫(kù)教程推薦
- 關(guān)于升級(jí)SQL Server 2008數(shù)據(jù)庫(kù)引擎
- 揭秘SQL Server開(kāi)發(fā)中需要注意的十個(gè)問(wèn)題
- 淺談Linq To Sql集成數(shù)據(jù)庫(kù)語(yǔ)言的優(yōu)劣
- 如何將sql執(zhí)行的錯(cuò)誤消息記錄到本地文件中實(shí)現(xiàn)過(guò)程
- 解決SQL Server數(shù)據(jù)庫(kù)權(quán)限沖突的三大妙招
- 詳解:SQL Server 2000 的各種版本
- SQL Server 2008:表值參數(shù)的創(chuàng)建和使用
- 解讀SQL Server2008的新語(yǔ)句MERGE
- 怎樣輕松掌握 SQL Server 2000數(shù)據(jù)庫(kù)的構(gòu)架
- PL/SQL DEVELOPER 使用的一些技巧
猜你也喜歡看這些
- MySQL出現(xiàn)大量unauthenticated user
- 驗(yàn)證實(shí)例名稱(chēng)是否正確
- MySQL筆記之修改數(shù)據(jù)的解決方法
- CentOS6.4系統(tǒng)中Mysql數(shù)據(jù)庫(kù)卸載、安裝與配置
- mysql手動(dòng)刪除BINLOG的方法
- MySQL多表之間字段的匹配實(shí)現(xiàn)代碼
- 解決bash: mysql: command not found 的方法
- Mysql的主從數(shù)據(jù)庫(kù)沒(méi)有同步的解決辦法
- CentOS6.3安裝MySQL5.6.10并修改MySQL的root用戶密碼
- MYSQL 批量替換之replace語(yǔ)法的使用詳解
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索SQL Server2008 數(shù)據(jù)庫(kù)誤刪除數(shù)據(jù)的恢復(fù)方法分享
- 教程說(shuō)明:
Mssql數(shù)據(jù)庫(kù)教程-SQL Server2008 數(shù)據(jù)庫(kù)誤刪除數(shù)據(jù)的恢復(fù)方法分享
。