SQL Server日志恢復(fù)還原數(shù)據(jù)的操作流程
SQL Server日志恢復(fù)還原數(shù)據(jù)
##red##
通過日志還原,首先要注意的是:
1、在數(shù)據(jù)庫更新和刪除之前有一個完整的備份。
2、在更新和刪除之后,做一個日志備份。
3、該日志只能用于還原數(shù)據(jù)庫備份和日志備份時間之間的數(shù)據(jù)。
下面看整個數(shù)據(jù)庫備份和恢復(fù)的操作流程:
創(chuàng)建一個數(shù)據(jù)庫并完整備份:
創(chuàng)建數(shù)據(jù)庫
新建一個數(shù)據(jù)庫TEST用來測試
創(chuàng)建表
-- 切換到 TEST 數(shù)據(jù)庫 USE TEST; GO -- 創(chuàng)建表 CREATE TABLE TestTable ( ID INT IDENTITY(1,1) PRIMARY KEY, Name NVARCHAR(50), CreatedDate DATETIME ); GO -- 插入測試數(shù)據(jù) INSERT INTO TestTable (Name, CreatedDate) VALUES ('Alice', GETDATE()), ('Bob', GETDATE()), ('Charlie', GETDATE()), ('David', GETDATE()), ('Eva', GETDATE()), ('Frank', GETDATE()), ('Grace', GETDATE()), ('Hannah', GETDATE()), ('Isaac', GETDATE()), ('Judy', GETDATE()); GO
記錄本次操作時間2024-07-31 17:29:19
對數(shù)據(jù)庫進(jìn)行備份
右鍵數(shù)據(jù)庫(TEST)-任務(wù)-備份:
先把默認(rèn)的備份路徑刪除,要不然后面會出錯,然后點添加:
選擇文件位置
選擇文件位置以及備份文件名
點擊 確認(rèn) 進(jìn)行備份
備份完成
記錄本次操作時間2024-07-31 17:30:50
模擬故障并恢復(fù)數(shù)據(jù)
誤刪除操作
假設(shè)我們誤操作刪除了這個表,注意刪除表的時間,后面會用到:
DROP TABLE TEST.dbo.TestTable;
記錄本次操作時間2024-07-31 17:31:22
備份日志文件
BACKUP LOG TEST TO DISK='D:\TEST_log.bak' WITH FORMAT GO
記錄本次操作時間2024-07-31 17:32:05
還原數(shù)據(jù)庫
在 SQL Server Management Studio 中,右鍵單擊要還原的數(shù)據(jù)庫(Test),選擇“任務(wù)” -> “還原” -> “數(shù)據(jù)庫”
在“選項”標(biāo)簽中,勾選“關(guān)閉現(xiàn)有連接到目標(biāo)數(shù)據(jù)庫”,選擇 之前的全量備份 和 剛剛備份的事務(wù)日志
在常規(guī)里,選擇一個還原到的具體時間點。
這里我們的誤刪操作發(fā)生在:2024-07-31 17:30:50
因此,我們選擇還原到這個時間的前一刻,我選擇 2024-07-31 17:31:00
點擊“確定”開始還原
還原成功
檢驗恢復(fù)結(jié)果
還原完成后,我們需要驗證數(shù)據(jù)是否已經(jīng)被成功恢復(fù)。
恢復(fù)數(shù)據(jù)庫可讀寫
從剛剛的截圖上我們看到,雖然數(shù)據(jù)被恢復(fù)了,但是因為使用了日志事務(wù),所以TEST數(shù)據(jù)庫變成了備用/只讀狀態(tài)。當(dāng)前狀態(tài)下,數(shù)據(jù)庫是無法被寫入的,我們需要解除這種狀態(tài)。
-- 切換到 master 數(shù)據(jù)庫 USE master; -- 將數(shù)據(jù)庫設(shè)置為讀寫模式 ALTER DATABASE TEST SET READ_WRITE;
刷新數(shù)據(jù)庫,看到數(shù)據(jù)庫Test已經(jīng)變?yōu)榭蓪懭氲恼顟B(tài)了
以上就是SQL Server日志恢復(fù)還原數(shù)據(jù)的操作流程的詳細(xì)內(nèi)容,更多關(guān)于SQL Server日志恢復(fù)還原數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
此數(shù)據(jù)庫沒有有效所有者,因此無法安裝數(shù)據(jù)庫關(guān)系圖支持對象
此數(shù)據(jù)庫沒有有效所有者,因此無法安裝數(shù)據(jù)庫關(guān)系圖支持對象。若要繼續(xù),請首先使用“數(shù)據(jù)庫屬性”對話框的“文件”頁或ALTER AUTHORIZATION語句將數(shù)據(jù)庫所有者設(shè)置為有效登錄名,然后再添加數(shù)據(jù)庫關(guān)系圖支持對象2012-01-01Sqlserver2000 數(shù)據(jù)庫備份實例代碼
每個星期天凌晨1點做一次完全備份,為保險起見,備份到兩個同樣的完全備份文件test_full_A.bak和test_full_B.bak2010-07-07MSSQL數(shù)據(jù)庫排序規(guī)則如何更改
更改 SQL Server 2005 實例的默認(rèn)排序規(guī)則的操作可能會比較復(fù)雜,本文將提供詳細(xì)的操作步驟,需要了解的朋友可以參考下2012-11-11SQL?Server使用SELECT?INTO實現(xiàn)表備份的代碼示例
在數(shù)據(jù)庫管理過程中,有時我們需要對表進(jìn)行備份,以防數(shù)據(jù)丟失或修改錯誤,在?SQL?Server?中,可以使用?SELECT?INTO?語句將數(shù)據(jù)從一個表備份到另一個表,本文通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01LINQ to SQL:處理char(1)字段的方式會引起全表掃描問題
1.相關(guān)內(nèi)容: 在SQL Server 2000中,如果數(shù)據(jù)庫的排序規(guī)則為Chinese_PRC_CI_AS,那么查詢時是不分大小寫的,例如下列這二條SQL語句,查詢的結(jié)果是一樣的。2008-03-03