日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SQLServer數(shù)據(jù)庫(kù)誤操作恢復(fù)的方法

瀏覽:313日期:2023-03-06 14:25:49
目錄
  • 前言
  • 一、恢復(fù)數(shù)據(jù)實(shí)例
    • 1.創(chuàng)建初始數(shù)據(jù)
    • 2.保證數(shù)據(jù)恢復(fù)的前提條件
    • 3.模擬不小心誤操作
    • 4.開始恢復(fù)
  • 二、恢復(fù)數(shù)據(jù)原理
    • 1.數(shù)據(jù)庫(kù)文件類型
    • 2.使用bak恢復(fù)數(shù)據(jù)原理
  • 總結(jié)
    • 參考

      前言

      在日常開發(fā)工作中,有可能會(huì)存在數(shù)據(jù)庫(kù)的誤操作,比如不小心刪除了一個(gè)表或者刪除了一堆數(shù)據(jù),這個(gè)時(shí)候我們就需要將數(shù)據(jù)庫(kù)進(jìn)行恢復(fù),恢復(fù)到誤操作以前的狀態(tài),而這篇文章就是主要如何在誤操作之后,恢復(fù)數(shù)據(jù)庫(kù)的數(shù)據(jù)。

      一、恢復(fù)數(shù)據(jù)實(shí)例

      1.創(chuàng)建初始數(shù)據(jù)

      use masterif exists (select * from sys.databases where name="test") drop database test;create database test;use testcreate table UserInfo(id int,name varchar(50),nickname varchar(50),);goinsert 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;

      2.保證數(shù)據(jù)恢復(fù)的前提條件

      前提1 - 數(shù)據(jù)庫(kù)創(chuàng)建時(shí)便已設(shè)置恢復(fù)模式為完整

      對(duì)于任何環(huán)境下,新建數(shù)據(jù)庫(kù)后,我們都需要先檢查數(shù)據(jù)庫(kù)的恢復(fù)模式,確認(rèn)數(shù)據(jù)庫(kù)的恢復(fù)模式是【完整恢復(fù)模式】,這是數(shù)據(jù)庫(kù)數(shù)據(jù)得以恢復(fù)的基礎(chǔ)。如果等到出問(wèn)題,再想到這個(gè)就為時(shí)已晚了。
      修改恢復(fù)模式如下圖所示:

      選中數(shù)據(jù)庫(kù),然后右鍵菜單=》選擇【屬性】=》屬性頁(yè)選擇【選項(xiàng)】=》恢復(fù)模式哪一項(xiàng),選擇【完整】=》點(diǎn)擊【確定】

      數(shù)據(jù)庫(kù)一般默認(rèn)恢復(fù)模式就是【完整】恢復(fù)模式。

      腳本檢查恢復(fù)模式:SELECT recovery_model,recovery_model_desc FROM sys.databases WHERE name ='test';

      如果查詢結(jié)果如下,則表示數(shù)據(jù)恢復(fù)模式配置沒(méi)有問(wèn)題。

      前提2 - 至少做過(guò)一次完整的備份

      數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)是需要基于數(shù)據(jù)的完整備份上進(jìn)行的,如果沒(méi)有一次完整的數(shù)據(jù)備份,那么數(shù)據(jù)備份無(wú)從談起,所以,創(chuàng)建完一次數(shù)據(jù)庫(kù)后,需強(qiáng)制性做一次完整的備份。

      數(shù)據(jù)完整備份操作如下圖所示:


      選中數(shù)據(jù)庫(kù)=》右鍵菜單,選擇【任務(wù)】=》選擇【備份】=》備份類型,選擇【完整】=》確定

      擴(kuò)展內(nèi)容:可以通過(guò)一下sql查詢所有的數(shù)據(jù)庫(kù)備份信息

      SELECT database_name,recovery_model,name, backup_finish_date,type FROM msdb.dbo.backupset

      如:本人剛才操作了兩次數(shù)據(jù)完整備份和一次事務(wù)日志備份,查詢結(jié)果如下,
      type為D表示數(shù)據(jù)備份,L表示事務(wù)日志備份:

      3.模擬不小心誤操作

      再次強(qiáng)調(diào):數(shù)據(jù)恢復(fù)的前提條件中修改備份模式以及強(qiáng)制做一次完整的數(shù)據(jù)和事務(wù)日志備份,是我們?cè)诔霈F(xiàn)問(wèn)題之前必須做過(guò)的操作,否則就沒(méi)有什么恢復(fù)可言了。
      現(xiàn)在我們模擬做一下誤操作:

      --模擬誤操作 2022-11-23 14.25 開始的誤操作,記一下誤操作事件,以便后續(xù)演示數(shù)據(jù)恢復(fù)--本意刪除張三2的,但是條件不當(dāng),將不該刪除的數(shù)據(jù)也刪除了delete from UserInfo where nickname="小張";insert into UserInfo values (110,"錯(cuò)誤數(shù)據(jù)","小錯(cuò)誤");--不小心新建了一個(gè)表格select * into UserInfo2 from UserInfo;

      現(xiàn)在我們比對(duì)一下誤操作前后數(shù)據(jù)

      4.開始恢復(fù)

      出現(xiàn)誤操作之后,具體恢復(fù)步驟如下:

      1、首先將數(shù)據(jù)庫(kù)限制為單個(gè)用戶訪問(wèn)

      出現(xiàn)誤操作后,我們需要切斷其他用戶對(duì)數(shù)據(jù)庫(kù)在進(jìn)行操作產(chǎn)生數(shù)據(jù),造成更大的問(wèn)題,因此需要先將數(shù)據(jù)庫(kù)限制為單個(gè)用戶訪問(wèn),與外界隔絕開。
      具體操作如下:

      當(dāng)我們將限制訪問(wèn)設(shè)置為【SINGLE_USER】后,我們會(huì)發(fā)現(xiàn) 數(shù)據(jù)庫(kù)后面會(huì)附加上【單個(gè)用戶】標(biāo)志。

      2、做一次事務(wù)日志備份(備份日志尾部)

      • 首先選擇數(shù)據(jù)庫(kù),右鍵菜單,選擇【任務(wù)】=》選擇【備份】
      • 進(jìn)入備份界面,
      • 在【常規(guī)】這一項(xiàng)設(shè)置中 ,將備份類型選擇【事務(wù)日志】
      • 在【介質(zhì)選項(xiàng)】這一項(xiàng)設(shè)置中,按照下圖操作步驟進(jìn)行勾選和操作
      • 最后點(diǎn)擊【確定】,此時(shí)我們會(huì)發(fā)現(xiàn)數(shù)據(jù)庫(kù)出現(xiàn)了【正在還原…】的標(biāo)志
      • 具體操作步驟如下圖所示:

      如果無(wú)法備份,則查詢一下誰(shuí)在占用:

      SELECT * FROM sys.sysprocesses WHERE dbid=DB_ID("test")

      然后使用kill 語(yǔ)句將占用者清除即可,如 kill 56,56代表占用者的spid
      完成以上操作后,繼續(xù)進(jìn)行備份。

      3、還原完整數(shù)據(jù)備份

      完成上述事務(wù)日志的備份后,我們就需要將數(shù)據(jù)進(jìn)行還原。

      • 首先選擇數(shù)據(jù)庫(kù),右鍵菜單=》選擇【任務(wù)】=》選擇【還原】=》選擇【文件和文件組】
      • 進(jìn)入【還原文件和文件組】界面
      • 【常規(guī)】這一項(xiàng)中 在備份集列表中 選擇 文件類型為【行數(shù)據(jù)的】并且類型為【完整】,備份的完成時(shí)間距離誤操作最近的一次備份。
      • 【選項(xiàng)】這一項(xiàng)中 選擇【不對(duì)數(shù)據(jù)庫(kù)執(zhí)行任何操作,不回滾未提交的事務(wù)】這一項(xiàng)
      • 最后點(diǎn)擊【確定】即可
      • 具體操作如下圖所示:

      4、還原事務(wù)日志備份

      還原完完整數(shù)據(jù)備份后,我們需要還原事務(wù)日志,因?yàn)閿?shù)據(jù)庫(kù)最終需要根據(jù)事務(wù)日志與完整備份的數(shù)據(jù)進(jìn)行比對(duì)后進(jìn)行數(shù)據(jù)的恢復(fù)操作。

      • 首先選擇數(shù)據(jù)庫(kù),右鍵菜單=》選擇【任務(wù)】=》選擇【還原】=》選擇【事務(wù)日志】
      • 進(jìn)入還原事務(wù)日志界面
      • 【常規(guī)】這一項(xiàng)設(shè)置中,選擇需要還原的事務(wù)日志備份(選擇誤操作后備份的那個(gè)事務(wù)日志)
      • 然后點(diǎn)擊時(shí)間點(diǎn)后面的按鈕,打開時(shí)間還原窗口,設(shè)置需要還原的時(shí)間點(diǎn)
      • 設(shè)置完還原的時(shí)間點(diǎn)后,在【選項(xiàng)】這一項(xiàng)設(shè)置中,設(shè)置恢復(fù)狀態(tài)為回滾未提供事務(wù),使用數(shù)據(jù)庫(kù)處于可以使用的狀態(tài)
      • 最后點(diǎn)擊【確定】即可
      • 具體操作如下圖所示:

      至此,數(shù)據(jù)已經(jīng)恢復(fù)成功。

      5、最后恢復(fù)數(shù)據(jù)庫(kù)的限制訪問(wèn)設(shè)置

      將限制訪問(wèn),從【SINGLE_USER】修改為【MULTI_USER】即可

      到此這個(gè)數(shù)據(jù)恢復(fù)的完整流程結(jié)束。

      二、恢復(fù)數(shù)據(jù)原理

      1.數(shù)據(jù)庫(kù)文件類型

      數(shù)據(jù)庫(kù)中的文件類型:

      類型作用mdf (primary data file)主要數(shù)據(jù)文件,數(shù)據(jù)庫(kù)系統(tǒng)的可實(shí)時(shí)操作/讀取的數(shù)據(jù)文件,也可作為物理備份文件使用ndf (secondary data files)次要數(shù)據(jù)文件ldf (Log data files)事務(wù)日志文件,用于記錄數(shù)據(jù)庫(kù)的事務(wù)日志信息bak數(shù)據(jù)庫(kù)備份文件
      • 以上有mdf,ndf,ldf 以及bak 四種文件類型,其中一般我們創(chuàng)建的數(shù)據(jù)庫(kù)都會(huì)包含mdf 和ldf 兩個(gè)文件,不需要手動(dòng)創(chuàng)建,這兩個(gè)是一套數(shù)據(jù),可以通過(guò)分離的方式拷貝出來(lái)作為備份,還原的時(shí)候通過(guò)數(shù)據(jù)庫(kù)的“附加”功能即可還原。
      • bak自成一套,bak文件是通過(guò)使用數(shù)據(jù)庫(kù)的“備份”功能而備份出來(lái)的文件,里面包含了數(shù)據(jù)和日志文件,并且備份時(shí)做了壓縮,所以同一個(gè)數(shù)據(jù)庫(kù)的bak文件比在運(yùn)行的mdf數(shù)據(jù)文件+ldf日志文件要小。

      2.使用bak恢復(fù)數(shù)據(jù)原理

      首先我們要了解 事務(wù)日志中,記錄了數(shù)據(jù)庫(kù)自創(chuàng)建之初數(shù)據(jù)庫(kù)所有的操作日志。

      例如:

      • 2022-10-10 創(chuàng)建了數(shù)據(jù)庫(kù),此時(shí)我們第一次做了完整備份bak(包含數(shù)據(jù)+日志)
      • 2022-10-11 我們又做了一次完整備份bak(包含數(shù)據(jù)+日志)
      • 2022-10-12
      • 12:00 做了誤操作,此時(shí)還不知曉,
      • 12:05 我們發(fā)現(xiàn)自己誤操作了,馬上設(shè)置訪問(wèn)權(quán)限,進(jìn)行事務(wù)日志備份(這很關(guān)鍵),此時(shí)我們就有了2022-10-11所有的完整數(shù)據(jù),以及到2022-10-12 12:05所有的事務(wù)日志。那么我們就可以根據(jù)2022-10-11的完整數(shù)據(jù)以及2022-10-12 12:05 的事務(wù)日志去反推12:00的數(shù)據(jù)。因此我們需要做的第一個(gè)操作先還原2022-10-11的完整數(shù)據(jù)備份,然后還原2022-10-12 12:05事務(wù)日志備份,并且設(shè)置還原的時(shí)間點(diǎn)。最后數(shù)據(jù)庫(kù)系統(tǒng)會(huì)根據(jù)完整數(shù)據(jù)以及事務(wù)日志備份和設(shè)置的還原時(shí)間點(diǎn)去恢復(fù)數(shù)據(jù)。

      總結(jié)

      到此這篇關(guān)于SQLServer數(shù)據(jù)庫(kù)誤操作恢復(fù)的方法的文章就介紹到這了,更多相關(guān)SQLServer數(shù)據(jù)庫(kù)恢復(fù)內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

      參考

      標(biāo)簽: MsSQL
      日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
      欧洲精品一区二区三区| 欧美a级一区| 天堂成人国产精品一区| 黄色成人在线网址| 国产精品av久久久久久麻豆网| 高清av不卡| 亚洲国产成人二区| 亚洲午夜天堂| 1024精品一区二区三区| 视频一区中文| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲一区免费| 综合激情网...| 日本免费在线视频不卡一不卡二| 青草国产精品| 久久精品二区亚洲w码| 日韩av有码| 国产精品av久久久久久麻豆网| 丝袜脚交一区二区| 日韩国产一二三区| 久久久久黄色| 一区二区三区视频免费观看| 亚洲主播在线| 91精品国产自产在线丝袜啪| 免费亚洲一区| 私拍精品福利视频在线一区| 最新国产拍偷乱拍精品| 99在线精品免费视频九九视 | 国产精品不卡| 欧美在线观看视频一区| 亚州欧美在线| 国产精品99视频| 亚洲免费成人| 日本不卡中文字幕| 国产精品二区不卡| 欧美在线资源| 国产乱人伦丫前精品视频| 欧美激情国产在线| 丝袜美腿高跟呻吟高潮一区| 久久av影视| 黄色欧美日韩| 久久99高清| 香蕉久久久久久久av网站| 久久黄色影视| 久久精品国产99久久| 亚洲精品影视| 日韩免费视频| 日本电影久久久| 98精品视频| 亚洲一二三区视频| а√天堂8资源在线| 久久亚洲欧洲| 精品黄色一级片| 丝袜美腿亚洲一区二区图片| 国产一区二区三区日韩精品| 亚洲综合三区| 黄色网一区二区| 免费人成网站在线观看欧美高清| 精品国产99| 中文字幕av一区二区三区人 | 国产精品www.| 99视频精品| 国产成人免费视频网站视频社区| 麻豆精品91| аⅴ资源天堂资源库在线| 一二三区精品| 色天使综合视频| 欧美综合社区国产| 欧美亚洲精品在线| 美女久久久精品| 综合激情视频| 99久久婷婷| 麻豆国产91在线播放| 久久性天堂网| 日本不良网站在线观看| 日韩高清不卡一区| 欧美特黄a级高清免费大片a级| 久久久久亚洲精品中文字幕| 中文字幕中文字幕精品| 美女网站一区| 在线天堂中文资源最新版| 欧美欧美黄在线二区| 天使萌一区二区三区免费观看| 亚洲伦乱视频| 九九九精品视频| 欧美日韩亚洲一区| 男人的天堂亚洲一区| 亚洲高清不卡| 视频二区不卡| 国产精品一区高清| 亚洲精品乱码| 欧美中文日韩| 宅男噜噜噜66国产日韩在线观看| 青青青免费在线视频| 精品三区视频| 欧美激情福利| 国产毛片久久久| 日韩 欧美一区二区三区| 亚洲在线观看| 99精品99| 免费看的黄色欧美网站| 国产主播一区| 久久美女性网| 午夜欧美巨大性欧美巨大| 欧美a一区二区| 欧美日韩亚洲一区二区三区在线| 亚洲精一区二区三区| 免费看精品久久片| 久久高清一区| 视频在线在亚洲| 日韩精品一二三| 喷白浆一区二区| 亚洲一级大片| 日韩黄色免费网站| 日韩三区四区| 日本天堂一区| 欧美精品国产白浆久久久久| 日韩精品一区二区三区中文| 午夜a一级毛片亚洲欧洲| 午夜在线一区二区| 丝袜美腿亚洲一区二区图片| 蜜臀a∨国产成人精品| 亚洲最新av| 天海翼精品一区二区三区| 一区二区不卡| 97久久亚洲| 久久99影视| 四季av一区二区凹凸精品| 国产日韩电影| 久久精品官网| 久久九九精品| 欧美午夜不卡| 热久久久久久久| 91精品国产自产在线丝袜啪| 国产精品一卡| 精品国产三区在线| av资源亚洲| 美女毛片一区二区三区四区| 久久成人亚洲| 无码日韩精品一区二区免费| 日本午夜精品一区二区三区电影| 国产精品一区二区免费福利视频| 国产中文字幕一区二区三区| 日韩国产欧美| 黄色不卡一区| 日韩三级精品| 精品视频在线一区二区在线| 五月激情久久| 鲁大师影院一区二区三区| 日韩欧美中文在线观看| 国产精品亲子伦av一区二区三区| 91视频一区| 欧美精品激情| 日韩精品三区四区| 国产在线一区不卡| 亚洲国产专区| 欧美一级一区| 日韩成人a**站| 国产精品日本| 欧美在线观看天堂一区二区三区| 日韩av免费大片| 国产视频一区在线观看一区免费| 日韩国产在线观看| 色偷偷偷在线视频播放| 黄色亚洲精品| 国产毛片精品| 136国产福利精品导航网址| 日韩一区精品| 成人亚洲一区| 亚洲影视一区| 97精品97| 免费人成在线不卡| 精品国产aⅴ| 好看的av在线不卡观看| 青青国产精品| 久久久一二三| 欧美性www| 99tv成人| 国产日产高清欧美一区二区三区| 91偷拍一区二区三区精品| 久久国产精品久久久久久电车| 麻豆精品久久| 亚洲伊人精品酒店| 日产精品一区二区| 色综合视频一区二区三区日韩 | 日本免费在线视频不卡一不卡二| 91欧美国产| 日本a级不卡| 久久激情一区| 欧美一区影院| 欧美一区三区| 国产精品va视频| 亚洲一区亚洲| 国产精品99一区二区三区| 亚洲精品自拍| 欧美日韩激情| 国产一区二区三区成人欧美日韩在线观看| 伊人成人网在线看| 国产一区二区三区四区五区 | 欧美成a人免费观看久久|