程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> 解救你的數據 經由過程日記恢復MSSQL數據

解救你的數據 經由過程日記恢復MSSQL數據

編輯:MSSQL

解救你的數據 經由過程日記恢復MSSQL數據。本站提示廣大學習愛好者:(解救你的數據 經由過程日記恢復MSSQL數據)文章只能為提供參考,不一定能成為您想要的結果。以下是解救你的數據 經由過程日記恢復MSSQL數據正文


這段時光看了關於在SQL server 中經由過程日記和時光點來恢單數據。也看了一些網上的例子,看若何經由過程日記來恢單數據。
條件前提:
數據庫的毛病恢復改成非簡略形式,去失落主動封閉和主動壓縮兩個選項    
假如是簡略形式:相似上面的語句操作數據就不會記載到日記中:  select * into t from [表名]
這時候為包管數據的完全要將數據庫的恢復形式改成“完全”
測試情況:   

1、樹立數據庫和測試表        

create database zp

create table [zping.com](
 id int,
 name varchar(20)
)

2、拔出測試數據

insert into [zping.com](id,name)
values(1,'zping.com1')
insert into [zping.com](id,name)
values(2,'zping.com2')
insert into [zping.com](id,name)
values(3,'zping.com3')
insert into [zping.com](id,name)
values(4,'zping.com4')

備份數據庫,可以經由過程sql server的可視化操作,上面是生成的代碼:
[code]BACKUP DATABASE [zp] TO  DISK = N'C:\k.bak' WITH NOFORMAT, NOINIT, 
NAME = N'zp-完全 數據庫 備份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO[code]

檢查數據:

留意:這時候我們做一個完全備份

這時候能夠一不當心刪除一些數據。我們模仿一下:(假定刪除1,2的數據)

deletefrom[zping.com]where(id=1orid=2)

留意:要記住年夜體的刪除時光

這時候發明刪除毛病了,怎樣把數據找回來啊。辦法有兩個:

1、經由過程Log Explorer 查找停止恢單數據(我網站有此對象)

2、另外一種辦法經由過程恢復日記(指准時間點恢復)來恢單數據。

解釋:第一個辦法可以在線操作。

第二個辦法必需停滯數據庫或許再另外一個數據庫恢復(條件是必需有一個完整備份和日記備份)

這裡我們來評論辯論第二中辦法指准時間點恢復:

1、這時候對數據庫事務日記做備份(留意,假如沒做個數據庫完全備份,是不克不及干事務日記備份的)

這時候新建一個數據庫zp(將之前的數據庫更名),恢單數據庫

這時候我們看到,有兩個復原的數據庫備份,由於我對zp數據庫備份了兩次,兩次的備份的數據文件都一樣。這裡我們選擇比來時光的備份。

默許在數據庫的設置以下:是追加到備份集裡,所以會有兩個備份,以下圖:

同時,在”選項“裡設置”不回滾“事務。

留意:經由過程事務日記復原數據庫,必需選擇"不回滾"事務。

肯定後,湧現上面情形:

這時候發明,數據庫一向是”正在復原“,這時候復原數據庫事務日記,

1、“慣例”裡選擇時光,(剛刪除的時光)

2、“選項”裡將恢復狀況設置為”回滾未提交“事務

肯定後,查詢數據庫,發明數據回來了。

總結:

1、這是普通年夜型網站數據平安的一個方法,由於數據庫比擬年夜(能夠有幾百G)數據,做一次完全備份時光很長,並且影響數據庫辦事器的機能,為包管數據平安,年夜多采取完全備份+事務日記備份來包管數據平安。例如:一天做一次或許2天做一次完全備份,幾個小時內做一第二天志備份。(固然可以用寫一個job來完成)

2、如SQL server 2005裡的鏡像就是采取的這類事務日記同步的辦法包管數據的同步。

3、假如恢復的日記數據湧現”LSN“太早和太晚解釋了事務日記間的不持續。這時候要留意備份的時光溫柔序。

以上就是本文的全體內容,願望對年夜家的進修有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved