SQL Server資料恢複——記錄備份

來源:互聯網
上載者:User

標籤:style   blog   http   color   ar   使用   strong   sp   檔案   

太坑了,我把資料給刪了

“大坑啊,資料被我誤刪了。”從事資料庫相關工作的過程中,我想應該很多人會有過和我一樣的遭遇吧?尤其是在進行update或者delete操作的時候,忘記了where條件。這些毀滅性的操作,足以使你不能淡定。然後就開始到baidu、csdn、csblogs等等找恢複方案。網上呢,也是眾說紛紜,一時間,你又崩潰了。這個時候要學會淡定,否則,會讓你心碎的。

幸好,還可以資料恢複

出現這類問題之後,我們的目的就是想找回誤操作之前的資料,在SSMS2008之前,有個很出名的工具LogExploer,但是好像是收費的(反正,我是對收費的工具,都是避而遠之)。除了這之外,我們還可以使用記錄備份的功能,來完成資料恢複。

下面我們來講解用記錄備份的方法來恢複資料(有圖有真相哦)。

準備工作:

1.運行下面的代碼,建立RecoverDemo資料庫,和TestTable表。

 1 USE [RecoverDemo] 2 GO 3 /****** Object:  Table [dbo].[TestTable]    Script Date: 10/22/2014 17:00:36 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET QUOTED_IDENTIFIER ON 7 GO 8 SET ANSI_PADDING ON 9 GO10 CREATE TABLE [dbo].[TestTable](11     [A] [varchar](50) NULL12 ) ON [PRIMARY]13 GO14 SET ANSI_PADDING OFF15 GO16 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a1‘)17 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a2‘)18 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a3‘)19 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a4‘)20 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a5‘)21 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a6‘)22 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a7‘)23 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a8‘)24 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a9‘)25 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a10‘)

2.然後做一次完整備份,至於步驟就沒必要說了吧。(恢複資料的前提是,該資料庫至少做過一次完整備份)

提示:因為所有類型的備份都是基於完整備份的,如果沒有至少一次的完整備份,其他的備份都是多餘的,所以一定要在建完資料庫後做一次完整備份。

3.確認資料庫的復原模式為完整。

提示:在生產環境中,都強烈建議使用【完整復原模式】,即使說相對於其他兩中復原模式,完整復原模式產生的日誌會很大,但是在出現問題的時候,這都不算什麼了。

4.執行下面指令碼,向TestTable中添加資料。

 1 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a11‘) 2 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a12‘) 3 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a13‘) 4 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a14‘) 5 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a15‘) 6 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a16‘) 7 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a17‘) 8 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a18‘) 9 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a19‘)10 INSERT [dbo].[TestTable] ([A]) VALUES (N‘a20‘)

檢查結果:select * from TestTable

災難發生了

1.我們誤操作刪除(delete from TestTable)了TestTable中的資料。

這個時候,你就該不淡定了。

別急!我們來恢複資料

之前的那些都算是拋磚引玉吧,接下來才是我們重點想講述的。

1.做記錄備份,記住一定要選擇【備份日誌尾部】。

 

然後在【選項】中,嚴格按照紅色框中的選擇項進行勾選,否則,你可能會哭的。並且保證資料庫不要有串連,因為有連結,記錄備份是備份不了的。

2.記錄備份後資料庫會處於【正在還原狀態...】

記錄備份後就可以進行資料還原了

3.先要還原完整備份,注意一定要選擇最後那一次的完整備份,否則是還原不了的。

4.最後一步就是還原記錄備份了,選擇恢複的時間點不必太在意,只要填寫你誤操作之前的時間點,就可以了。

哈哈,資料還原成功了。

 後事之師

1.在進行危險操作的的時候一定要,謹慎謹慎,以免造成不必要的麻煩。

2.一定要養成備份的習慣,千萬不要因為嫌棄記錄檔過於龐大,就將復原模式設為【簡單】,甚至是刪除記錄檔,到那個時候神仙恐怕也就不了你了。

 

SQL Server資料恢複——記錄備份

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.