程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL2008 >> SQL Server 2008數據庫誤刪數據如何停止數據恢復

SQL Server 2008數據庫誤刪數據如何停止數據恢復

編輯:MSSQL2008

SQL Server 2008數據庫誤刪數據如何停止數據恢復。本站提示廣大學習愛好者:(SQL Server 2008數據庫誤刪數據如何停止數據恢復)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL Server 2008數據庫誤刪數據如何停止數據恢復正文


有個冤家很焦急地打電話給我,他用delete語句誤刪除了SQL Server 2008數據庫中兩個表中的一切記載,而這個數據庫之前沒有任何備份。讓我幫他處理一下,不然他要賠償客戶很多錢。

SQL Server中誤刪除數據的恢復原本不是件難事,從事務日志恢復即可。但是,這個恢復需求有兩個前提條件:

1. 至多有一個誤刪除之前的數據庫完全備份。

2. 數據庫的恢復形式(Recovery mode)是“完好(Full)”。

針對這兩個前提條件,會有三種狀況:

狀況一、假如這兩個前提條件都存在,經過SQL語句只需三步就能恢復,無需借助第三方工具。

  a) 備份以後數據庫的事務日志:BACKUP LOG [數據庫名] TO disk= N'備份文件名' WITH NORECOVERY

  b) 恢復一個誤刪除之前的完全備份:RESTORE DATABASE [數據庫名] FROM DISK = N'完全備份文件名' WITH NORECOVERY, REPLACE

  c) 將數據庫恢復至誤刪除之前的時間點:RESTORE LOG [數據庫] FROM DISK = N'第一步的日志備份文件名' WITH STOPAT = N'誤刪除之前的時間點' , RECOVERY

狀況二、假如第1個前提條件不存在,第2個前提條件存在,需求借助第三方工具。

狀況三、假如第2個前提條件不存在,無法恢復。所以,一定要將數據庫恢復形式設置為“完好(Full)”。

我如今面臨的是第二種狀況,需求找第三方工具。

開端找的是Log Explorer for SQL Server,不支持SQL Server 2008。

後來找的是SQL Log Rescue,也不支持SQL Server 2008。

接著找到的是SysTools SQL Recovery,支持SQL Server 2008,但需求購置,Demo版並沒無數據恢復功用。

最終在officerecovery.com上找到Recovery for SQL Server,雖然也是商業軟件,需求購置,但Demo版可以恢單數據,只需數據庫文件不超越24Gb。幸虧冤家的數據庫文件不大,用它完成了誤刪除數據的恢復。

上面分享一下用Recovery for SQL Server停止恢復的操作步驟:

1. 運轉Recovery for SQL Server

2. 點擊菜單中的 File > Recover,選擇要恢復的數據庫的數據文件(.mdf)

3. Next > Next,進入 Recovery Configuration 界面,選擇Custom(選擇了Custom才可以選擇從日志中恢復誤刪除的數據)。

4. Next 進入 Recovery options 窗口,選中 Search for deleted records,並選擇要恢復的數據庫的日志文件途徑(log file path)。

5. Next 並選擇目的文件夾(Destination folder),用於寄存恢復進程中生成的SQL語句與bat文件。

6. 點擊Start,開端恢復操作(在上一步選擇的目的文件夾中生成相應的SQL文件與Bat文件),然後,呈現 SQL Server Database Creation Utility 窗口。

7. Next,選擇被恢單數據寄存的目的數據庫。

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

9. Next, Next, 然後就完成數據的恢復!

以上就是本文的全部內容,希望對大家的學習有所協助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved