西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁西西教程數(shù)據(jù)庫教程 → SQLServer2008數(shù)據(jù)庫備份還原和數(shù)據(jù)恢復(fù)圖文教程

SQLServer2008數(shù)據(jù)庫備份還原和數(shù)據(jù)恢復(fù)圖文教程

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2014/4/2 18:48:53字體大。A-A+

作者:西西點擊:2658次評論:1次標(biāo)簽: SQL2008

SQL Server 2008 R2 SP3正式版免費簡體中文版【64位|32位】
  • 類型:數(shù)據(jù)庫類大。363.9M語言:中文 評分:4.5
  • 標(biāo)簽:
立即下載

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

認(rèn)識數(shù)據(jù)庫備份和事務(wù)日志備份

數(shù)據(jù)庫備份與日志備份是數(shù)據(jù)庫維護(hù)的日常工作,備份的目的是在于當(dāng)數(shù)據(jù)庫出現(xiàn)故障或者遭到破壞時可以根據(jù)備份的數(shù)據(jù)庫及事務(wù)日志文件還原到最近的時間點將損失降到最低點。

數(shù)據(jù)庫備份

數(shù)據(jù)庫備份可以手動備份和語句備份

一.手動備份數(shù)據(jù)庫

1.鼠標(biāo)右鍵選擇你要進(jìn)行備份的數(shù)據(jù)庫-任務(wù)-備份

可以在常規(guī)選項頁面你可以選擇備份類型是進(jìn)行完整數(shù)據(jù)庫備份還是差異數(shù)據(jù)庫備份

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

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


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

二.語句備份數(shù)據(jù)庫

use master goBACKUP DATABASE [test] TO  DISK = N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\test.bak' WITH NOFORMAT, NOINIT,  NAME = N'test-完整 數(shù)據(jù)庫 備份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10GO

數(shù)據(jù)庫日志備份

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

一.手動備份數(shù)據(jù)庫日志

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

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

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

二.語句備份數(shù)據(jù)庫事務(wù)日志

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

數(shù)據(jù)庫還原

右鍵數(shù)據(jù)庫-還原數(shù)據(jù)庫-添加需要進(jìn)行還原的數(shù)據(jù)庫文件路徑

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

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

2.點擊確認(rèn)還原數(shù)據(jù)庫

數(shù)據(jù)庫恢復(fù)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

結(jié)語

在數(shù)據(jù)庫維護(hù)過程中對數(shù)據(jù)庫的日常備份是必須的,畢竟這是降低損失的最有效的辦法,希望大家積極評論,出于能力的有限還望大家海涵,整片文章寫下來挺累的,呵呵,希望我的一點見解能給大家?guī)韼椭?/p>

    sql server
    (11)sql server
    西西軟件園提供免費的下載,是很多小型企業(yè)公司使用到的數(shù)據(jù)庫軟件,是一個功能強(qiáng)大且可靠的數(shù)據(jù)管理系統(tǒng),它功能豐富,能保護(hù)數(shù)據(jù),并且可改善嵌入式應(yīng)用程序客戶端輕型應(yīng)用程序以及本地數(shù)據(jù)存儲區(qū)的性能。具有易于部署以及可以快速設(shè)計原型的特點,您可以無償獲取并可以隨應(yīng)用程序免費再分發(fā)。它設(shè)計成可與其他服務(wù)器基礎(chǔ)結(jié)構(gòu)資產(chǎn)無縫集成。...更多>>
    • SQL Server 2008 SP2精簡版免費版

      05-15 / 91.2M

      推薦理由:SQL Server 2008 Express 是 SQL Server 的免費版本,是學(xué)習(xí)和構(gòu)建桌面及小型服務(wù)器應(yīng)用程序的理想選擇,且
    • Microsoft SQL Server 2000 Enterp

      05-15 / 358.4M

      推薦理由:SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的于1988
    • sqlserver2005驅(qū)動包

      11-14 / 3.5M

      推薦理由:這是連接sql server2005所必須用到的驅(qū)動包,找個能用的sqlserver2005 jdbc 驅(qū)動真不容易啊,這是經(jīng)過我測試
    • Microsoft SQL Server 2005 Expres

      06-02 / 40.0M

      推薦理由:SQL Server Express 是一種強(qiáng)大而可靠的數(shù)據(jù)管理產(chǎn)品,可以為嵌入的應(yīng)用程序客戶端、輕型 Web 應(yīng)用程序以及
    • Microsoft SQL Server 2008 Native

      09-30 / 10.5M

      推薦理由:Microsoft SQL Server 2008 Native Client (SQL Server Native Client) 是一個同時包含 SQL OLE DB 訪問接口
    • SQL Server數(shù)據(jù)庫管理及開發(fā)工具(N

      05-16 / 42.7M

      推薦理由:Navicat for SQL Server 是一套專為 Microsoft SQL Server設(shè)計的強(qiáng)大數(shù)據(jù)庫管理及開發(fā)工具。它可以用于 SQL

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(1)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)