標籤: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資料恢複——記錄備份