亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQL Server 2008及更高版本數據庫恢復方法之日志尾部備份

2024-08-31 01:03:56
字體:
來源:轉載
供稿:網友

        經??吹接腥苏`刪數據,或者誤操作,特別是update和delete的時候沒有加where,然后就喊爹喊娘了。人非圣賢孰能無過,做錯可以理解,但不能縱容,這個以后再說,現在先來解決問題。

        遇到這種情況,一般都是沒有做備份,不然也不會來發問了。首先要冷靜,否則會有更大的災難。直到你放棄。

解決方法:

       對于這類問題,主要是找回誤操作之前的數據,在2008之前,有個很出名的工具Log Exploer,聽說還挺好用的,這個網上大把教程,這里就不多說了。但是唯一遺憾的是,不支持2008及更高版本,這時除了其他第三方工具,那么最常用的就是本文提到的方法——日志尾部備份。本文實驗環境2008R2,對于2008及其以上版本可以使用這個方法,其實2005也可以,2000很少用,沒試過,只是2008之前可以使用Log Exploer,所以就沒必要用這種方法。

      下面圖文并茂講解操作方法,至于原理,不屬于本文范圍,而且我相信真遇到誤操作的時候,估計沒人會看原理了。

步驟:

(1)、檢查數據庫的恢復模式,如圖:

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

或者使用腳本檢查:

SELECT recovery_model,recovery_model_desc FROM sys.databases WHERE name ='

結果如下:

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

        確保數據庫的恢復模式最起碼不能為【簡單】。至于如何修改成完整模式,我覺得這些應該沒必要多說了。 

       切記,對于任何重要環境,不僅僅是客戶正式環境(俗稱生產環境),都強烈建議使用【完整恢復模式】,雖然對于另外兩種(大容量日志(BULK_LOGGED)、簡單(SIMPLE))來說,完整恢復模式產生的日志會大,但是在出現問題的時候,就會覺得這些都不算什么了。并且我也想不到任何理由對于正式環境不使用完整恢復模式。只要管理得當,完整恢復模式的日志也不會太變態。

(2)、這里其實隱含另外一步,曾經做過最少一次的完整備份。因為所有類型的備份都基于完整備份,如果沒有最少一次完整備份,其他類型的備份都是多余的,所以在這里強調一下,在創建完一個新數據庫之后,強烈建議甚至強制做一次完整備份。

SELECT database_name,recovery_model,name FROM ms

使用上面的語句粗略可以看到有那些數據庫做過備份,由于測試,所以做了幾次備份,可以看到我這個時間點已經做了備份了。

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

(3)、確保別人不再連接數據庫,然后做一次日志尾部備份:

首先先創建一點數據:

由于tempdb永遠為簡單恢復模式,所以不適合做案例。 
這里使用微軟的示例數據庫AdventureWorks 

*/ USE AdventureWorks GO IF OBJECT_ID('testRestore') IS NOT NULL  DROP TABLE testRestore GO CREATE TABLE testRestore  (   id INT IDENTITY(1, 1) ,   NAME VARCHAR(50)  ); --插入測試數據:  INSERT INTO testRestore(Name) SELECT 'test1' UNION ALL SELECT 'test2' UNION ALL SELECT 'test3' UNION ALL SELECT 'test4' UNION ALL SELECT 'test5' UNION ALL SELECT 'test6' UNION ALL SELECT 'test7' UNION ALL SELECT 'test8' SELECT * FROM testRestore 

檢查一下結果:

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

然后來做個刪除操作,為了定位是啥時候發生的,我加了一個waitfor命令,讓它在某個時間發生,這樣恢復的時候就有準確性:

USE AdventureWorks GO WAITFOR TIME '21:45' DELETE FROM dbo.testRestore 

現在來看看數據:

USE AdventureWorks GO SELECT * FROM dbo.testRestore 

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

到這一步,災難出現了,但是切記要冷靜。

下面就是本文的重點開始,做一次日志備份,最重要是選擇【備份日志尾部】

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

然后在【選項】頁選擇:除【事務日志】除,其他紅框包裹的地方為強烈建議勾選的地方。并且保證數據庫不要有別人在連接,因為備份日志尾部會使數據庫處于還原狀態,拒絕其他會話的連接,如果不斷開其他連接,是備份不了的。

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

然后按確定,當然,可以使用上方的【腳本】來生成語句:

USE Master GO BACKUP LOG [AdventureWorks] TO DISK = N'E:/AdventureWorks.bak' WITH NO_TRUNCATE , NOFORMAT, NOINIT, NAME = N'AdventureWorks-事務日志 備份', SKIP, NOREWIND, NOUNLOAD, NORECOVERY , COMPRESSION, STATS = 10, CHECKSUM GO declare @backupSetId as int select @backupSetId = position from msdb..backupset where database_name=N'AdventureWorks' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'AdventureWorks' ) if @backupSetId is null begin raiserror(N'驗證失敗。找不到數據庫“AdventureWorks”的備份信息。', 16, 1) end RESTORE VERIFYONLY FROM DISK = N'E:/AdventureWorks.bak' WITH FILE = @backupSetId, NOUNLOAD, NOREWIND GO 

此時,數據庫會處于【正在還原】的狀態


SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復


如果發現備份不了可以用下面語句查看,并把spid殺掉:

SELECT  * FROM sys.sysprocesses WHERE dbid=DB_ID('AdventureWorks') 

執行結果:

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

然后kill掉。

接著繼續備份。

 然后進行還原,如圖:

先要還原完整備份,選擇最近的那次,由于日志備份的特性(以后其他文章再說),只認最后一次備份,所以要選擇最新的那次,否則還原不了。

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

這里又有一個注意事項,記得選擇:

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

接著還原日志文件,這是最最重要的一步:

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

然后:

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

由于實驗的時候出了點問題,后面重做了,所以時間選擇到22:19分,我是在22:20分刪除數據的。這里不用太在意,只要把時間點指定到你誤刪除的時間之前即可。而由于日志尾部備份都是最后一個備份文件,所以這里選則紅框部分即可:

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

現在再檢查一下:

SQL,Server,2008數據庫恢復,日志尾部備份,數據恢復

可以看到,數據已經還原成功。

總結:

平時不做備份,出問題來喊急,這是茍有自取,還有一些腦袋發熱的人喜歡看到ldf很大就直接刪除,那以后出問題就別怪微軟了。

本文中的方法看上去有點繁瑣,但是實操幾次就覺得好了,但是步驟建議嚴格按照上面說的,因為一旦操作錯誤,就很麻煩,此時再次強調——冷靜冷靜再冷靜?。。。。?!

這種方法有幾個缺點:

1、如果你發現誤操作以后還有很多人做了操作,那么你還原成功后,別人的操作就會沖掉,所以發生誤操作后,要馬上停止別人對數據庫的操作。

2、 這個方法要對數據庫獨占,所以你想偷偷恢復是不行的了。勇敢承認錯誤吧。

對于核心數據表,還是要先做好預防操作,可以看:SQLServer恢復表級數據。

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


注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲韩国青草视频| 亚洲免费视频网站| 亚洲国产精品va在线| 亚洲免费av网址| 日本久久久久久久| 国产精品一区二区三区久久| 日韩在线不卡视频| 亚洲精品国精品久久99热一| 亚洲精品美女在线观看播放| 国产美女久久精品| 成人午夜两性视频| 狠狠色狠色综合曰曰| 操人视频在线观看欧美| 中文字幕亚洲一区二区三区五十路| 亚洲免费人成在线视频观看| 国产一区欧美二区三区| 亚洲三级黄色在线观看| 欧美综合激情网| 日韩精品极品视频免费观看| 国产mv免费观看入口亚洲| 日韩av中文字幕在线播放| 精品国产一区av| 中日韩美女免费视频网址在线观看| 国产亚洲成av人片在线观看桃| 亚洲国产成人久久综合一区| 国产精品欧美一区二区三区奶水| 亚洲在线一区二区| 久久久亚洲国产| 欧美激情视频在线| 久久精品国产2020观看福利| 色综合色综合久久综合频道88| 久久久精品国产亚洲| 日韩国产精品一区| 91亚洲精品视频| 亚洲国产毛片完整版| 高清日韩电视剧大全免费播放在线观看| 日韩免费在线观看视频| 久久成人在线视频| 91香蕉嫩草神马影院在线观看| 91青草视频久久| 亚洲天堂色网站| 日韩在线视频免费观看高清中文| 国产精品九九九| 国产亚洲a∨片在线观看| 日韩中文字幕在线观看| 精品日韩中文字幕| 奇米四色中文综合久久| 久久精品精品电影网| xvideos成人免费中文版| 成人免费黄色网| 欧美国产日本在线| 亚洲男人天堂网站| 欧美在线一级视频| 国产精品爽爽爽爽爽爽在线观看| 欧美裸身视频免费观看| 精品高清一区二区三区| 日韩在线观看免费全| 欧美黑人国产人伦爽爽爽| 国产91精品高潮白浆喷水| 在线免费看av不卡| 韩国精品美女www爽爽爽视频| 日韩av理论片| 欧美人在线观看| 久久手机精品视频| 欧美黄网免费在线观看| 亚洲精品国产综合久久| 国产欧美一区二区白浆黑人| 成人免费在线视频网址| 成人免费观看a| 欧美一级淫片aaaaaaa视频| 日韩欧美精品免费在线| 精品亚洲夜色av98在线观看| 久久久久成人精品| 国产精品18久久久久久麻辣| 中文字幕精品av| 97视频在线观看视频免费视频| 777午夜精品福利在线观看| 欧美大尺度电影在线观看| 亚洲精品小视频| 欧美大学生性色视频| 国产精品国产三级国产aⅴ浪潮| 精品人伦一区二区三区蜜桃免费| 91亚洲精品久久久久久久久久久久| 成人激情黄色网| 性色av一区二区三区免费| 日韩av中文字幕在线| 成人亚洲欧美一区二区三区| 欧美精品在线观看91| 国产精品专区h在线观看| 成人久久久久久| 亚洲美女激情视频| 日韩免费av在线| 成人欧美一区二区三区黑人孕妇| 亚洲国产精品一区二区三区| 久久久久久91香蕉国产| 青青青国产精品一区二区| 久久色精品视频| 国产一区二中文字幕在线看| 欧美极度另类性三渗透| 2019中文字幕在线| 欧美成人剧情片在线观看| 欧美午夜性色大片在线观看| 久久久久久久一区二区| 国产一区二区免费| 久热精品视频在线免费观看| 久久精品亚洲精品| 色妞色视频一区二区三区四区| 久久人人爽人人爽人人片亚洲| 揄拍成人国产精品视频| 亚洲自拍中文字幕| 黄网站色欧美视频| 亚洲第一视频在线观看| 国产精品丝袜视频| 国产91成人video| 午夜精品久久久久久99热软件| 91视频九色网站| 成人黄色片在线| 亚洲jizzjizz日本少妇| 日韩av网址在线| 欧美性视频精品| 色老头一区二区三区| 亚洲成人性视频| 亚洲高清久久久久久| 国模精品系列视频| 欧美激情三级免费| 久久久久久久电影一区| 国产精品网红福利| 97在线看免费观看视频在线观看| 国产精品揄拍一区二区| 久久久精品久久久| 亚洲成人在线网| 欧美午夜xxx| 精品久久久久久国产91| 综合136福利视频在线| 欧美大片欧美激情性色a∨久久| 欧美xxxx18国产| 九九综合九九综合| 亚洲男人天堂手机在线| 亚洲天堂开心观看| 中文字幕成人在线| 亚洲一区二区日本| 国产精品h在线观看| 中文字幕最新精品| 亚洲精品白浆高清久久久久久| 中文字幕久久久av一区| 欧美亚洲日本网站| 色播久久人人爽人人爽人人片视av| 久久久噜噜噜久噜久久| 亚洲精品美女久久久久| 欧美黑人极品猛少妇色xxxxx| 国产精品999999| 欧美性极品xxxx做受| 亚洲精品98久久久久久中文字幕| 欧美精品激情blacked18| 中文字幕亚洲欧美在线| 亚洲欧美第一页| 日韩av网址在线| 91精品国产91久久久久久最新| 国产精品久久久久99| 97精品国产97久久久久久| 日韩一区二区在线视频| 亚洲mm色国产网站| 亚洲欧美中文日韩在线v日本| 亚洲一区二区三区四区视频|