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