您好!數(shù)據(jù)庫的還原操作主要有以下幾種:
成都創(chuàng)新互聯(lián)公司主營騰沖網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),騰沖h5微信小程序搭建,騰沖網(wǎng)站營銷推廣歡迎騰沖等地區(qū)企業(yè)咨詢
一、使用SQK的企業(yè)管理器來進(jìn)行圖形化的還原(打開管理器在還原的數(shù)據(jù)庫上右擊{任務(wù)}—還原;然后在彈出的對話框中:選擇要還原源文件和要還原目標(biāo)的)
二、使用SQL代碼還原:RESTORE
DATABASE
數(shù)據(jù)庫名
FROM
DISK=
'F:\my.bak
'
WITH
REPLACE。
三、做一個(gè)作業(yè)代理:在步驟哪里加入以上代碼;可以實(shí)現(xiàn)定時(shí)自動(dòng)還原。
四、使用附加的方式;這個(gè)需要有二個(gè)文件(日志和數(shù)據(jù)文件)
五、使用其它軟件進(jìn)行還原。
說明:還原可以從低版本到高版本;反之則出錯(cuò)。
使用命令,是通過sqlserver的事務(wù)日志以及一個(gè)誤刪除前的數(shù)據(jù)庫的完整備份進(jìn)行還原,所以在sqlserver2012的維護(hù)計(jì)劃向?qū)е?,要建立完整備份,差異備份和事?wù)日志,具體如下
以及在數(shù)據(jù)庫屬性,選項(xiàng)設(shè)置中,設(shè)置為完整備份,做好如上兩個(gè)設(shè)置,數(shù)據(jù)庫誤刪后找回?cái)?shù)據(jù)就會(huì)非常輕松,現(xiàn)在說一下如何還原sqlserver數(shù)據(jù)到故障點(diǎn)。
SQL Server中誤刪除數(shù)據(jù)的恢復(fù)本來不是件難事,從事務(wù)日志恢復(fù)即可。但是,這個(gè)恢復(fù)需要有兩個(gè)前提條件:
1. 至少有一個(gè)誤刪除之前的數(shù)據(jù)庫完全備份。
2. 數(shù)據(jù)庫的恢復(fù)模式(Recovery mode)是“完整(Full)”。
針對這兩個(gè)前提條件,會(huì)有三種情況:
情況一、如果這兩個(gè)前提條件都存在,通過SQL語句只需三步就能恢復(fù)(參考文章),無需借助第三方工具。
a) 備份當(dāng)前數(shù)據(jù)庫的事務(wù)日志:BACKUP LOG [數(shù)據(jù)庫名] TO disk= N'備份文件名' WITH NORECOVERY
b) 恢復(fù)一個(gè)誤刪除之前的完全備份:RESTORE DATABASE [數(shù)據(jù)庫名] FROM DISK = N'完全備份文件名' WITH NORECOVERY, REPLACE
c) 將數(shù)據(jù)庫恢復(fù)至誤刪除之前的時(shí)間點(diǎn):RESTORE LOG [數(shù)據(jù)庫] FROM DISK = N'第一步的日志備份文件名' WITH STOPAT = N'誤刪除之前的時(shí)間點(diǎn)' , RECOVERY
情況二、如果第1個(gè)前提條件不存在,第2個(gè)前提條件存在,需要借助第三方工具。
情況三、如果第2個(gè)前提條件不存在,無法恢復(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ù)!