麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 編程設計 > 正文

SQLServer2008數據庫備份還原和數據恢復圖文教程

2020-07-14 13:27:23
字體:
來源:轉載
供稿:網友

在完整恢復模式或大容量日志恢復模式下,必須先備份活動事務日志(稱為日志尾部),然后才能在SQLServerManagementStudio中還原數據庫。有關詳細信息,請參閱如何備份事務日志(SQLServerManagementStudio)。若要還原已加密的數據庫,您必須有權訪問用于加密數據庫的證書或非對稱密鑰。如果沒有證書或非對稱密鑰,數據庫將無法還原。

認識數據庫備份和事務日志備份

數據庫備份與日志備份是數據庫維護的日常工作,備份的目的是在于當數據庫出現故障或者遭到破壞時可以根據備份的數據庫及事務日志文件還原到最近的時間點將損失降到最低點。

數據庫備份

數據庫備份可以手動備份和語句備份

一.手動備份數據庫

1.鼠標右鍵選擇你要進行備份的數據庫-任務-備份

可以在常規選項頁面你可以選擇備份類型是進行完整數據庫備份還是差異數據庫備份

2.點擊添加選項,選擇數據庫文件的存放路徑

注意文件名記得加后綴.bak,便于恢復時的查找

3.你還可以在選項頁面是追加到現有的備份集,還是覆蓋所有的現有備份集,還可以選擇備份驗證完整性(建議選擇),還可以選擇是否壓縮備份等。

二.語句備份數據庫

use master goBACKUP DATABASE [test] TO  DISK = N'D:/Microsoft sql server/MSSQL10.MSSQLSERVER/MSSQL/Backup/test.bak' WITH NOFORMAT, NOINIT,  NAME = N'test-完整 數據庫 備份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10GO

數據庫日志備份

首先需要注意,數據庫日志的備份是基于數據庫完整備份,也就是說你備份數據庫日志之前你首先要先對數據庫進行一次完整的備份,因為之間會涉及到堅持到檢查點lsn,這也是本文接下來要講的重點。

一.手動備份數據庫日志

1.右鍵數據庫-任務-備份-選擇備份類型(事務日志)

2.點添加,添加日志文件備份存儲路徑

3.同數據庫完整備份一樣,你也可以選擇覆蓋現有備份集或者追加到現有備份集,這里現在覆蓋現有備份集、驗證完整性,然后確認備份

二.語句備份數據庫事務日志

BACKUP LOG [test] TO  DISK = N'D:/test.trn' WITH NOFORMAT, INIT,  NAME = N'test-事務日志  備份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10GO

數據庫還原

右鍵數據庫-還原數據庫-添加需要進行還原的數據庫文件路徑

在還原源選項中你可以選擇‘源數據庫’,‘源設備’。1.選擇源數據庫工具會自動顯示該數據庫之前的一些備份,然后直接選擇需要還原的數據庫備份集。

2.選擇源設備點擊后面的...,添加需要還原的數據庫文件

2.點擊確認還原數據庫

數據庫恢復

數據庫恢復的前提是1.一個完整的數據庫備份2.包含這個完整數據庫備份的事務日志備份3.完整備份之間也可以存在數個差異備份

對于數據庫維護空間始終是一個比較頭疼的問題,特別是對于大型數據庫而言,每天的日志文件增長是龐大的,很多數據庫管理員會定時對數據庫日志文件進行收縮,但是經常收縮會存在收縮完日志文件還是不能減少,這是因為存在很多活動的日志無法收縮可以用

DBCC LOGINFO('數據庫名稱')
 
我們看到
status=0的日志,代表已經備份到磁盤的日志文件;而
status=2的日志還沒有備份。當我們收縮日志文件時,收縮掉的空
間其實就是
status=0的空間,如果日志物理文件無法減小,這里一
定能看到非常多status=2的記錄

解決辦法:1.可以分離要收縮的數據庫,然后手動刪除日志文件,然后附加數據庫,數據庫就會產生一個很小的日志文件(不推薦使用這種方法)

2.右鍵要出來的數據庫選擇“屬性”-"選項",將恢復模式改成"簡單",然后利用收縮工具可以講日志文件收縮到很小,收縮完記得講恢復模式改成"完整"

也可以用語句進行處理(dbname是你要進行收縮的數據庫名,dbname_log是你要進行收縮的數據庫的邏輯日志名稱)

USE [master]
   GO    ALTER DATABASE [dbname] SET recovery SIMPLE WITH NO_WAIT    GO
   ALTER DATABASE [dbname] SET RECOVERY SIMPLE   --簡單模式
   GO
   USE [dbname]
   GO
   DBCC SHRINKFILE (N'dbname_log' , 11, TRUNCATEONLY)    GO
   USE [master]
   GO
   ALTER DATABASE [dbname] SET RECOVERY FULL WITH NO_WAIT    ALTER DATABASE [dbname] SET RECOVERY FULL

對于第一種方法不贊同使用,首先對于數據庫的分離與附加有時候會破壞數據庫,造成數據庫無法還原,還有就是對于在線數據庫也不允許進行分離操作。

對于第二種方法是slq2008收縮日志文件的一種方法,但是此方法也不能使用過于頻繁,因為進行數據庫恢復模式的更改會截斷事務日志文件,這樣的話當時利用事務日志文件進行恢復的時候檢查點不能包含數據庫文件,而且當你要對事務日志進行備份的時候會重新提示你需要對數據庫進行完整備份。

舉個例子:比如你昨天晚上進行了一次完整備份,然后同時你也進行了一次日志備份(提前日志未被截斷),然后你每個小時進行過一次差異備份,最近的差異備份時間點是14點,如果此時數據庫錯誤修改了數據,你可以立馬備份一個日志文件將數據庫恢復到日志備份開始到日志備份終點前的任意時間點 。

如果此時你進行了修改數據庫模式,截斷日志進行了收縮,那么你的數據只能恢復到昨天晚上備份的那個日志備份時間前的任意時間點,也就是今天所做的數據庫更改無法再恢復了,因為日志文件已經被截斷了,不知道這樣解釋是否明白

因為日志文件的檢查點(lsn)是連續的,每一次日志備份都是在上一次備份的基礎上lsn往后增加的,lsn的范圍也包括了數據庫文件的lsn,也只有日志文件的lsn包括了數據庫文件的lsn,才能將數據庫文件進行回滾。

上圖中總共有三個備份文件,一個完整備份、一個差異備份、一個日志備份,大家可以注意觀察完整備份的第一個lsn與最后一個lsn,和檢查點

第二個差異備份文件的的第一個lsn與最后一個lsn,和檢查點,最后的日志備份的第一個lsn和最后一個lsn包含了前面兩個備份文件的lsn,這種情況數據庫就可以恢復到日志文件備份前的任意時間點,如果日志文件沒有包含數據庫文件的最后一個lsn也就無法恢復了。

結語

在數據庫維護過程中對數據庫的日常備份是必須的,畢竟這是降低損失的最有效的辦法,希望大家積極評論,出于能力的有限還望大家海涵,整片文章寫下來挺累的,呵呵,希望我的一點見解能給大家帶來幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品热 | 午夜色片| 精品国产一区二区久久 | 精品国产一区二区亚洲人成毛片 | av电影网在线观看 | 色网站综合 | 狠狠一区二区 | 在线中文字幕观看 | 成人三级电影网站 | 亚洲午夜精选 | 国产一区二区三区四区波多野结衣 | 免费看真人a一级毛片 | 精品一区二区三区欧美 | 日本精品二区 | 免费观看9x视频网站在线观看 | 久久久一区二区三区精品 | www.99久| 一级免费毛片 | 老司机免费福利午夜入口ae58 | 失禁高潮抽搐喷水h | 天天干天天透 | 日本特级a一片免费观看 | 亚洲综人网 | 免费一级欧美大片视频 | 斗破苍穹在线免费 | 999精品久久久 | 日本成年免费网站 | 性大片性大片免费 | 欧美成人一区免费视频 | 日本不卡中文字幕 | 国产精品一区二区x88av | 欧美成人一二三区 | 久久经典国产视频 | 美国黄色毛片女人性生活片 | 免费毛片视频播放 | 亚洲性在线视频 | 国产一区二区三区撒尿在线 | www国产成人免费观看视频,深夜成人网 | 免费看综艺策驰影院 | av免费在线观看国产 | 一区二区三区日韩 |