<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在日常開發工作中,有可能會存在資料庫的誤操作,比如不小心刪除了一個表或者刪除了一堆資料,這個時候我們就需要將資料庫進行恢復,恢復到誤操作以前的狀態,而這篇文章就是主要如何在誤操作之後,恢復資料庫的資料。
use master if exists (select * from sys.databases where name='test') drop database test; create database test; use test create table UserInfo ( id int, name varchar(50), nickname varchar(50), ); go insert into UserInfo values (1,'張三','小張'); insert into UserInfo values (2,'張三2','小張'); insert into UserInfo values (3,'李四','小李'); insert into UserInfo values (4,'王五','小王'); insert into UserInfo values (5,'趙六','小趙'); select * from UserInfo;
前提1 - 資料庫建立時便已設定恢復模式為完整
對於任何環境下,新建資料庫後,我們都需要先檢查資料庫的恢復模式,確認資料庫的恢復模式是【完整恢復模式】,這是資料庫資料得以恢復的基礎。如果等到出問題,再想到這個就為時已晚了。
修改恢復模式如下圖所示:
選中資料庫,然後右鍵選單=》選擇【屬性】=》屬性頁選擇【選項】=》恢復模式哪一項,選擇【完整】=》點選【確定】
資料庫一般預設恢復模式就是【完整】恢復模式。
指令碼檢查恢復模式:SELECT recovery_model,recovery_model_desc FROM sys.databases WHERE name ='test';
如果查詢結果如下,則表示資料恢復模式設定沒有問題。
前提2 - 至少做過一次完整的備份
資料庫資料恢復是需要基於資料的完整備份上進行的,如果沒有一次完整的資料備份,那麼資料備份無從談起,所以,建立完一次資料庫後,需強制性做一次完整的備份。
資料完整備份操作如下圖所示:
選中資料庫=》右鍵選單,選擇【任務】=》選擇【備份】=》備份型別,選擇【完整】=》確定
擴充套件內容:可以通過一下sql查詢所有的資料庫備份資訊
SELECT database_name,recovery_model,name, backup_finish_date,type FROM msdb.dbo.backupset
如:本人剛才操作了兩次資料完整備份和一次事務紀錄檔備份,查詢結果如下,
type為D表示資料備份,L表示事務紀錄檔備份:
再次強調:資料恢復的前提條件中修改備份模式以及強制做一次完整的資料和事務紀錄檔備份,是我們在出現問題之前必須做過的操作,否則就沒有什麼恢復可言了。
現在我們模擬做一下誤操作:
--模擬誤操作 2022-11-23 14.25 開始的誤操作,記一下誤操作事件,以便後續演示資料恢復 --本意刪除張三2的,但是條件不當,將不該刪除的資料也刪除了 delete from UserInfo where nickname='小張'; insert into UserInfo values (110,'錯誤資料','小錯誤'); --不小心新建了一個表格 select * into UserInfo2 from UserInfo;
現在我們比對一下誤操作前後資料
出現誤操作之後,具體恢復步驟如下:
1、首先將資料庫限制為單個使用者存取
出現誤操作後,我們需要切斷其他使用者對資料庫在進行操作產生資料,造成更大的問題,因此需要先將資料庫限制為單個使用者存取,與外界隔絕開。
具體操作如下:
當我們將限制存取設定為【SINGLE_USER】後,我們會發現 資料庫後面會附加上【單個使用者】標誌。
2、做一次事務紀錄檔備份(備份紀錄檔尾部)
如果無法備份,則查詢一下誰在佔用:
SELECT * FROM sys.sysprocesses WHERE dbid=DB_ID('test')
然後使用kill 語句將佔用者清除即可,如 kill 56,56代表佔用者的spid
完成以上操作後,繼續進行備份。
3、還原完整資料備份
完成上述事務紀錄檔的備份後,我們就需要將資料進行還原。
4、還原事務紀錄檔備份
還原完完整資料備份後,我們需要還原事務紀錄檔,因為資料庫最終需要根據事務紀錄檔與完整備份的資料進行比對後進行資料的恢復操作。
至此,資料已經恢復成功。
5、最後恢復資料庫的限制存取設定
將限制存取,從【SINGLE_USER】修改為【MULTI_USER】即可
到此這個資料恢復的完整流程結束。
資料庫中的檔案型別:
型別 | 作用 |
---|---|
mdf (primary data file) | 主要資料檔案,資料庫系統的可實時操作/讀取的資料檔案,也可作為物理備份檔案使用 |
ndf (secondary data files) | 次要資料檔案 |
ldf (Log data files) | 事務紀錄檔檔案,用於記錄資料庫的事務紀錄檔資訊 |
bak | 資料庫備份檔案 |
首先我們要了解 事務紀錄檔中,記錄了資料庫自建立之初資料庫所有的操作紀錄檔。
例如:
到此這篇關於SQLServer資料庫誤操作恢復的方法的文章就介紹到這了,更多相關SQLServer資料庫恢復內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
SQLServer 2008以上誤運算元據庫恢復方法——紀錄檔尾部備份
資料庫誤操作恢復實現原理
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45