濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 拯救你的數(shù)據(jù) 通過(guò)日志恢復(fù)MSSQL數(shù)據(jù)

拯救你的數(shù)據(jù) 通過(guò)日志恢復(fù)MSSQL數(shù)據(jù)

熱門(mén)標(biāo)簽:400電話辦理泰安 零成本地圖標(biāo)注賺錢(qián) 互聯(lián)網(wǎng)電話外呼系統(tǒng) 我要地圖標(biāo)注數(shù)量有限制嗎 電話機(jī)器人怎么代理商 電銷(xiāo)需要外呼系統(tǒng)嗎 千呼電話機(jī)器人可以試用嗎 家庭農(nóng)場(chǎng)地圖標(biāo)注名稱怎樣起名 安卡拉地圖標(biāo)注app

這段時(shí)間看了關(guān)于在SQL server 中通過(guò)日志和時(shí)間點(diǎn)來(lái)恢復(fù)數(shù)據(jù)。也看了一些網(wǎng)上的例子,看如何通過(guò)日志來(lái)恢復(fù)數(shù)據(jù)。
前提條件:
數(shù)據(jù)庫(kù)的故障恢復(fù)改為非簡(jiǎn)單模式,去掉自動(dòng)關(guān)閉和自動(dòng)收縮兩個(gè)選項(xiàng)    
如果是簡(jiǎn)單模式:類(lèi)似下面的語(yǔ)句操作數(shù)據(jù)就不會(huì)記錄到日志中:  select * into t from [表名]
這時(shí)為保證數(shù)據(jù)的完整要將數(shù)據(jù)庫(kù)的恢復(fù)模式改成“完整”
測(cè)試環(huán)境:   

1、建立數(shù)據(jù)庫(kù)和測(cè)試表        

create database zp

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

2、插入測(cè)試數(shù)據(jù)

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')

備份數(shù)據(jù)庫(kù),可以通過(guò)sql server的可視化操作,下面是生成的代碼:
[code]BACKUP DATABASE [zp] TO  DISK = N'C:\k.bak' WITH NOFORMAT, NOINIT, 
NAME = N'zp-完整 數(shù)據(jù)庫(kù) 備份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO[code]

查看數(shù)據(jù):

注意:這時(shí)我們做一個(gè)完整備份

這時(shí)可能一不小心刪除了一些數(shù)據(jù)。我們模擬一下:(假定刪除了1,2的數(shù)據(jù))

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

注意:要記住大體的刪除時(shí)間

這時(shí)發(fā)現(xiàn)刪除錯(cuò)誤了,怎么把數(shù)據(jù)找回來(lái)啊。方法有兩個(gè):

1、通過(guò)Log Explorer 查找進(jìn)行恢復(fù)數(shù)據(jù)(我網(wǎng)站有此工具)

2、另一種方法通過(guò)恢復(fù)日志(指定時(shí)間點(diǎn)恢復(fù))來(lái)恢復(fù)數(shù)據(jù)。

說(shuō)明:第一個(gè)方法可以在線操作。

第二個(gè)方法必須停止數(shù)據(jù)庫(kù)或者再另一個(gè)數(shù)據(jù)庫(kù)恢復(fù)(前提是必須有一個(gè)完全備份和日志備份)

這里我們來(lái)討論第二中方法指定時(shí)間點(diǎn)恢復(fù):

1、這時(shí)對(duì)數(shù)據(jù)庫(kù)事務(wù)日志做備份(注意,如果沒(méi)做個(gè)數(shù)據(jù)庫(kù)完整備份,是不能做事務(wù)日志備份的)

這時(shí)新建一個(gè)數(shù)據(jù)庫(kù)zp(將以前的數(shù)據(jù)庫(kù)改名),恢復(fù)數(shù)據(jù)庫(kù)

這時(shí)我們看到,有兩個(gè)還原的數(shù)據(jù)庫(kù)備份,因?yàn)槲覍?duì)zp數(shù)據(jù)庫(kù)備份了兩次,兩次的備份的數(shù)據(jù)文件都一樣。這里我們選擇最近時(shí)間的備份。

默認(rèn)在數(shù)據(jù)庫(kù)的設(shè)置如下:是追加到備份集里,所以會(huì)有兩個(gè)備份,如下圖:

同時(shí),在”選項(xiàng)“里設(shè)置”不回滾“事務(wù)。

注意:通過(guò)事務(wù)日志還原數(shù)據(jù)庫(kù),必須選擇"不回滾"事務(wù)。

確定后,出現(xiàn)下面情況:

這時(shí)發(fā)現(xiàn),數(shù)據(jù)庫(kù)一直是”正在還原“,這時(shí)還原數(shù)據(jù)庫(kù)事務(wù)日志,

1、“常規(guī)”里選擇時(shí)間,(剛刪除的時(shí)間)

2、“選項(xiàng)”里將恢復(fù)狀態(tài)設(shè)置為”回滾未提交“事務(wù)

確定后,查詢數(shù)據(jù)庫(kù),發(fā)現(xiàn)數(shù)據(jù)回來(lái)了。

總結(jié):

1、這是一般大型網(wǎng)站數(shù)據(jù)安全的一個(gè)辦法,因?yàn)閿?shù)據(jù)庫(kù)比較大(可能有幾百G)數(shù)據(jù),做一次完整備份時(shí)間很長(zhǎng),而且影響數(shù)據(jù)庫(kù)服務(wù)器的性能,為保證數(shù)據(jù)安全,大多采用完整備份+事務(wù)日志備份來(lái)保證數(shù)據(jù)安全。例如:一天做一次或者2天做一次完整備份,幾個(gè)小時(shí)內(nèi)做一次日志備份。(當(dāng)然可以用寫(xiě)一個(gè)job來(lái)實(shí)現(xiàn))

2、如SQL server 2005里的鏡像就是采用的這種事務(wù)日志同步的方法保證數(shù)據(jù)的同步。

3、如果恢復(fù)的日志數(shù)據(jù)出現(xiàn)”LSN“太早和太晚說(shuō)明了事務(wù)日志間的不連續(xù)。這時(shí)要注意備份的時(shí)間和順序。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

您可能感興趣的文章:
  • MS sqlserver 2008數(shù)據(jù)庫(kù)轉(zhuǎn)換成2000版本的方法
  • MSSql簡(jiǎn)單查詢出數(shù)據(jù)表中所有重復(fù)數(shù)據(jù)的方法
  • MSSQL分頁(yè)存儲(chǔ)過(guò)程完整示例(支持多表分頁(yè)存儲(chǔ))
  • PHP封裝的MSSql操作類(lèi)完整實(shí)例
  • MSSQL產(chǎn)生死鎖的根本原因及解決方法
  • SQL(MSSQLSERVER)服務(wù)啟動(dòng)錯(cuò)誤代碼3414的解決方法
  • PHP連接MSSQL方法匯總
  • ASP.NET和MSSQL高性能分頁(yè)實(shí)例代碼
  • 如何處理Python3.4 使用pymssql 亂碼問(wèn)題
  • MS SQL 實(shí)現(xiàn)驗(yàn)證字符串是否包含有大小寫(xiě)字母的功能

標(biāo)簽:池州 濱州 新鄉(xiāng) 來(lái)賓 黃山 東營(yíng) 文山 大同

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《拯救你的數(shù)據(jù) 通過(guò)日志恢復(fù)MSSQL數(shù)據(jù)》,本文關(guān)鍵詞  拯救,你的,數(shù)據(jù),通過(guò),日志,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《拯救你的數(shù)據(jù) 通過(guò)日志恢復(fù)MSSQL數(shù)據(jù)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于拯救你的數(shù)據(jù) 通過(guò)日志恢復(fù)MSSQL數(shù)據(jù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    桂阳县| 林芝县| 榕江县| 沽源县| 梅河口市| 京山县| 余江县| 当涂县| 伊宁市| 寿光市| 措美县| 永城市| 禄丰县| 伊宁县| 红桥区| 新龙县| 阿勒泰市| 永春县| 布拖县| 乌兰察布市| 儋州市| 张家港市| 大丰市| 阿图什市| 平南县| 安新县| 红河县| 西昌市| 城口县| 荆州市| 清苑县| 改则县| 尚志市| 西宁市| 金寨县| 绥德县| 本溪市| 淮滨县| 临湘市| 桐梓县| 万山特区|