SQL Server數據庫簡單的事務日志備份恢復流程
模擬數據庫備份恢復過程
1.基礎操作
1.創(chuàng)建TestDB數據庫,并添加數據
USE [master] GO CREATE DATABASE TestDB CONTAINMENT = NONE ON PRIMARY ( NAME = N'TestDB', FILENAME = N'D:\TestDB.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ) LOG ON ( NAME = N'TestDB_log', FILENAME = N'D:\TestDB_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB ) GO USE TestDB GO CREATE TABLE [dbo].[UserTest]( [id] [int] NULL, [uName] [varchar](50) NULL, [age] [int] NULL ) GO INSERT [dbo].[UserTest] ([id], [uName], [age]) VALUES (1, N'ceshi1', 18) GO INSERT [dbo].[UserTest] ([id], [uName], [age]) VALUES (2, N'ceshi2', 19) GO INSERT [dbo].[UserTest] ([id], [uName], [age]) VALUES (3, N'ceshi3', 20) GO INSERT [dbo].[UserTest] ([id], [uName], [age]) VALUES (4, N'ceshi4', 21) GO INSERT [dbo].[UserTest] ([id], [uName], [age]) VALUES (5, N'ceshi5', 22) GO
2.創(chuàng)建完數據庫后,對數據庫進行備份
進行一次完整備份數據庫,可以將備份文件放到指定的目錄去
同理操作再進行一次事務日志備份
創(chuàng)建數據庫后的基礎備份就已經完成了
2.模擬日常操作
1.模擬創(chuàng)建新表
USE TestDB --模擬正確創(chuàng)建表結構 SELECT* INTO ceshi1 FROM UserTest SELECT* INTO ceshi2 FROM UserTest SELECT* INTO ceshi3 FROM UserTest SELECT * FROM ceshi1 SELECT * FROM ceshi2 SELECT * FROM ceshi3
能查到ceshi1,ceshi2,ceshi3表中的數據
2.模擬誤操作
--模擬錯誤刪除表結構 DELETE FROM ceshi1 TRUNCATE TABLE dbo.ceshi2 DROP TABLE dbo.ceshi3
此時再去查詢三張表顯示沒有數據,以及沒有表結構,這是比較常見的誤操作
3.誤操作的恢復準備
在發(fā)生了誤操作后,先別慌,我們首先要看一下目前的時間,并記錄,比如我這邊發(fā)生誤操作的時間大概是
記錄時間后,我們需要首先將數據庫的訪問權限設置為單用戶,這樣做的目的是為了防止新數據寫入到數據庫,我們后面恢復的話會丟失這部分數據,所以需要先將其他用戶的訪問權限關了
完成對權限的控制后,我們再次對數據庫進行一次尾部事務備份
完成以上操作后,我們可以看到數據庫處于正在還原的狀態(tài)
4.對數據庫進行還原恢復
首先我們對文件和文件組進行還原
選擇最近的完整備份
選項里面選擇不回滾
隨后我們再對事務日志進行還原
這里就需要用到我們之前記錄的發(fā)生錯誤的時間了,越精準,就越可以減少損失,我的是15:28:52,因為我截圖花了點時間,實際發(fā)生錯誤可能是在45秒的樣子,為了以防萬一我演示就還原到15:28:40的樣子,實際上正式站,越接近誤操作時間越好
還原過程就結束了
5.檢查數據庫還原是否成功
查詢ceshi1,ceshi2,ceshi3是否還原成功
SELECT * FROM ceshi1 SELECT * FROM ceshi2 SELECT * FROM ceshi3
確認還原成功后,需要對數據庫再進行一次完整備份(這個地方是我自己測試下來,發(fā)現,如果恢復一次后,不進行完整備份,就會出現,下次恢復的時候,事務日志對不上的情況),這里可能會發(fā)生我們操作不了數據庫的情況,因為是單用戶的情況
這里我們只需要切換一下數據庫,不再占用訪問就行
USE master
隨后對數據庫進行完整備份
完成之后,將數據庫恢復到多用戶訪問就行
整個數據庫備份恢復過程就結束了
注意
1.數據庫創(chuàng)建后必須有一次完整備份
2.完成恢復后必須對數據庫進行一次完整備份,不然下次恢復時可能會出現事務日志對不上的問題
以上就是SQL Server數據庫簡單的事務日志備份恢復流程的詳細內容,更多關于SQL Server事務日志備份恢復的資料請關注腳本之家其它相關文章!
相關文章
SQL Server 數據庫分區(qū)分表(水平分表)詳細步驟
最近幾個擔心網站數據量大會影響sqlserver數據庫的性能,所以提前將數據庫分表處理好,下面是ExceptionalBoy同學分享的詳細方法,需要的朋友可以參考下2021-03-03