一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

CSDN 論壇

 CBD牛郎 2016-03-31
hdzhangnudthdzhangnudt11-13 12:34
等級(jí) T1 8次回復(fù)

如何將sql server的數(shù)據(jù)庫(kù)的數(shù)據(jù)還原到之前的某個(gè)時(shí)間點(diǎn)?

sql server的設(shè)置都是默認(rèn)設(shè)置,現(xiàn)在看到mdf和ldf文件都有,而且日志文件比mdf文件還要大。
能還原到上個(gè)月的數(shù)據(jù)嗎,因?yàn)橛行?shù)據(jù)不小心這幾天被自己刪除了。
如果能的話,怎么操作?

dawuguidawugui11-13 12:35
等級(jí) T1 1樓

--數(shù)據(jù)還原到指定時(shí)間點(diǎn)的處理示例
--創(chuàng)建測(cè)試數(shù)據(jù)庫(kù)
CREATE DATABASE Db
GO

--對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份
BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT
GO

--創(chuàng)建測(cè)試表
CREATE TABLE Db.dbo.TB_test(ID int)

--延時(shí)1秒鐘,再進(jìn)行后面的操作(這是由于SQL Server的時(shí)間精度最大為百分之三秒,不延時(shí)的話,可能會(huì)導(dǎo)致還原到時(shí)間點(diǎn)的操作失敗)
WAITFOR DELAY '00:00:01'
GO

--假設(shè)我們現(xiàn)在誤操作刪除了 Db.dbo.TB_test 這個(gè)表
DROP TABLE Db.dbo.TB_test

--保存刪除表的時(shí)間
SELECT dt=GETDATE() INTO #
GO

--在刪除操作后,發(fā)現(xiàn)不應(yīng)該刪除表 Db.dbo.TB_test

--下面演示了如何恢復(fù)這個(gè)誤刪除的表 Db.dbo.TB_test

--首先,備份事務(wù)日志(使用事務(wù)日志才能還原到指定的時(shí)間點(diǎn))
BACKUP LOG Db TO DISK='c:\db_log.bak' WITH FORMAT
GO

--接下來,我們要先還原完全備份(還原日志必須在還原完全備份的基礎(chǔ)上進(jìn)行)
RESTORE DATABASE Db FROM DISK='c:\db.bak' WITH REPLACE,NORECOVERY
GO

--將事務(wù)日志還原到刪除操作前(這里的時(shí)間對(duì)應(yīng)上面的刪除時(shí)間,并比刪除時(shí)間略早
DECLARE @dt datetime
SELECT @dt=DATEADD(ms,-20,dt) FROM #  --獲取比表被刪除的時(shí)間略早的時(shí)間
RESTORE LOG Db FROM DISK='c:\db_log.bak' WITH RECOVERY,STOPAT=@dt
GO

--查詢一下,看表是否恢復(fù)
SELECT * FROM Db.dbo.TB_test

/*--結(jié)果:
ID          
----------- 

(所影響的行數(shù)為 0 行)
--*/

--測(cè)試成功
GO

--最后刪除我們做的測(cè)試環(huán)境
DROP DATABASE Db
DROP TABLE #

dawuguidawugui11-13 12:36
等級(jí) T1 2樓

如果上述方法不行,可以用Log Explorer

http://www./SoftDown.asp?ID=14562
http://www./app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471
解壓縮密碼 www.heibai.net

http://www./softview_8647.htm


注冊(cè)機(jī)產(chǎn)生的是注冊(cè)碼,是兩個(gè)

用解壓縮密碼解開后,壓縮包里也有一個(gè)注冊(cè)機(jī)的

打開log explorer file=>attach log file->選擇服務(wù)器和登陸方式->connect->
選擇數(shù)據(jù)庫(kù)->attach->左面對(duì)話框中browse->view log->就可以看到log記錄了
想恢復(fù)的話: 右鍵log記錄 undo transation->選擇保存文件名和路徑->然后打開該文件到查詢分析器里執(zhí)行
T-sql代碼就可以了

例如 如果log是delete table where ...的話,生成的文件代碼就是insert table ....




Log Explorer for SQL Server v3.3 特別版
www.chinaz.com


Log Explorer is the leading transaction analysis and data recovery solution for Microsoft SQL Server. By providing unprecedented access to the SQL Server transaction log, Log Explorer gives you the ability to understand and solve elusive database problems by browsing the transaction log, exporting data to create reports, and selectively recovering modified, deleted, dropped, or truncated data.


打開log explorer file=>attach log file->選擇服務(wù)器和登陸方式->connect->
選擇數(shù)據(jù)庫(kù)->attach->左面對(duì)話框中browse->view log->就可以看到log記錄了
想恢復(fù)的話: 右鍵log記錄 undo transation->選擇保存文件名和路徑->然后打開該文件到查詢分析器里執(zhí)行
T-sql代碼就可以。。。

例如 如果log是delete table where ...的話,生成的文件代碼就是insert table ....

右鍵log記錄 undo transation->選擇保存文件名和路徑->然后打開該文件到查詢分析器里執(zhí)行T-sql代碼。。。

log explorer使用的一個(gè)問題

1)對(duì)數(shù)據(jù)庫(kù)做了完全 差異 和日志備份
備份時(shí)選用了刪除事務(wù)日志中不活動(dòng)的條目
再用Log explorer打試圖看日志時(shí)
提示No log recorders found that match the filter,would you like to view unfiltered data
選擇yes 就看不到剛才的記錄了


如果不選用了刪除事務(wù)日志中不活動(dòng)的條目
再用Log explorer打試圖看日志時(shí),就能看到原來的日志

2)修改了其中一個(gè)表中的部分?jǐn)?shù)據(jù),此時(shí)用Log explorer看日志,可以作日志恢復(fù)

3)然后恢復(fù)備份,(注意:恢復(fù)是斷開log explorer與數(shù)據(jù)庫(kù)的連接,或連接到其他數(shù)據(jù)上,
否則會(huì)出現(xiàn)數(shù)據(jù)庫(kù)正在使用無法恢復(fù))
恢復(fù)完后,再打開log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data
選擇yes 就看不到剛才在2中修改的日志記錄,所以無法做恢復(fù).

--------------------------------------------------------------------------------
系統(tǒng)中有一個(gè)數(shù)據(jù)庫(kù)DB1,系統(tǒng)正在使用的過程中,不小心刪除了某表T1的數(shù)據(jù)
現(xiàn)我可以按照用完整備份文件加日志備份時(shí)間點(diǎn)TIME1恢復(fù)的方法來恢復(fù)該數(shù)據(jù)庫(kù)

但問題出在該數(shù)據(jù)庫(kù)一直還必須在使用中,所以除了你刪除了數(shù)據(jù)的TA表外,其它的
表的數(shù)據(jù)你不能只是恢復(fù)到錯(cuò)誤時(shí)間點(diǎn)TIME1處,因?yàn)椋琓IME1以后也有數(shù)據(jù)變化

解決這個(gè)問題有兩個(gè)方法
1:用LOG EXEPLORE 可以輕松搞定

2:先建立一個(gè)數(shù)據(jù)庫(kù)DB2,將完整備份文件恢復(fù)到DB2中,再用DB2中的T1數(shù)據(jù)來更新
   DB1中的T1數(shù)據(jù)即可.


--查看備份信息
RESTORE FILELISTONLY FROM DISK ='C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup'

--還原舊的備份 
RESTORE DATABASE db2 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup' with replace,norecovery,
move 'db1_Data' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\db2_data.mdf',
 move 'db1_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\db2_log.ldf' 

--還原數(shù)據(jù)日志到時(shí)間點(diǎn)
restore log  db2  from disk='db_log_backup'  with stopat='2003/4/22 9:57'

SQL77SQL7711-13 12:37
等級(jí) T1 3樓

引用 2 樓 dawugui 的回復(fù):
如果上述方法不行,可以用Log Explorer

http://www./SoftDown.asp?ID=14562
http://www./app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471
解壓縮密碼 www.heibai.net

http://www./softview_8647.htm


注冊(cè)機(jī)產(chǎn)生的是注冊(cè)碼,是兩個(gè)

用解壓縮密碼解開后,壓縮包里也有一個(gè)注冊(cè)機(jī)的

打開log explorer file=>attach log file->選擇服務(wù)器和登陸方式->connect->
選擇數(shù)據(jù)庫(kù)->attach->左面對(duì)話框中browse->view log->就可以看到log記錄了
想恢復(fù)的話: 右鍵log記錄 undo transation->選擇保存文件名和路徑->然后打開該文件到查詢分析器里執(zhí)行
T-sql代碼就可以了

例如 如果log是delete table where ...的話,生成的文件代碼就是insert table ....


Log Explorer for SQL Server v3.3 特別版
www.chinaz.com


Log Explorer is the leading transaction analysis and data recovery solution for Microsoft SQL Server. By providing unprecedented access to the SQL Server transaction log, Log Explorer gives you the ability to understand and solve elusive database problems by browsing the transaction log, exporting data to create reports, and selectively recovering modified, deleted, dropped, or truncated data.


打開log explorer file=>attach log file->選擇服務(wù)器和登陸方式->connect->
選擇數(shù)據(jù)庫(kù)->attach->左面對(duì)話框中browse->view log->就可以看到log記錄了
想恢復(fù)的話: 右鍵log記錄 undo transation->選擇保存文件名和路徑->然后打開該文件到查詢分析器里執(zhí)行
T-sql代碼就可以。。。

例如 如果log是delete table where ...的話,生成的文件代碼就是insert table ....

右鍵log記錄 undo transation->選擇保存文件名和路徑->然后打開該文件到查詢分析器里執(zhí)行T-sql代碼。。。

log explorer使用的一個(gè)問題

1)對(duì)數(shù)據(jù)庫(kù)做了完全 差異 和日志備份
備份時(shí)選用了刪除事務(wù)日志中不活動(dòng)的條目
再用Log explorer打試圖看日志時(shí)
提示No log recorders found that match the filter,would you like to view unfiltered data
選擇yes 就看不到剛才的記錄了


如果不選用了刪除事務(wù)日志中不活動(dòng)的條目
再用Log explorer打試圖看日志時(shí),就能看到原來的日志

2)修改了其中一個(gè)表中的部分?jǐn)?shù)據(jù),此時(shí)用Log explorer看日志,可以作日志恢復(fù)

3)然后恢復(fù)備份,(注意:恢復(fù)是斷開log explorer與數(shù)據(jù)庫(kù)的連接,或連接到其他數(shù)據(jù)上,
否則會(huì)出現(xiàn)數(shù)據(jù)庫(kù)正在使用無法恢復(fù))
恢復(fù)完后,再打開log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data
選擇yes 就看不到剛才在2中修改的日志記錄,所以無法做恢復(fù).

--------------------------------------------------------------------------------
系統(tǒng)中有一個(gè)數(shù)據(jù)庫(kù)DB1,系統(tǒng)正在使用的過程中,不小心刪除了某表T1的數(shù)據(jù)
現(xiàn)我可以按照用完整備份文件加日志備份時(shí)間點(diǎn)TIME1恢復(fù)的方法來恢復(fù)該數(shù)據(jù)庫(kù)

但問題出在該數(shù)據(jù)庫(kù)一直還必須在使用中,所以除了你刪除了數(shù)據(jù)的TA表外,其它的
表的數(shù)據(jù)你不能只是恢復(fù)到錯(cuò)誤時(shí)間點(diǎn)TIME1處,因?yàn)?,TIME1以后也有數(shù)據(jù)變化

解決這個(gè)問題有兩個(gè)方法
1:用LOG EXEPLORE 可以輕松搞定

2:先建立一個(gè)數(shù)據(jù)庫(kù)DB2,將完整備份文件恢復(fù)到DB2中,再用DB2中的T1數(shù)據(jù)來更新
  DB1中的T1數(shù)據(jù)即可.


--查看備份信息
RESTORE FILELISTONLY FROM DISK ='C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup'

--還原舊的備份
RESTORE DATABASE db2 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\db1_backup' with replace,norecovery,
move 'db1_Data' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\db2_data.mdf',
move 'db1_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL\data\db2_log.ldf'

--還原數(shù)據(jù)日志到時(shí)間點(diǎn)
restore log  db2  from disk='db_log_backup'  with stopat='2003/4/22 9:57'

頂烏龜大俠

colacat911colacat91111-13 13:01
等級(jí) T1 4樓

估計(jì)沒有備份過數(shù)據(jù)庫(kù)..........還是用log explorer吧

fredrickhufredrickhu11-13 13:30
等級(jí) T1 5樓

用log explorer比較穩(wěn)妥

hdzhangnudthdzhangnudt11-13 13:30
等級(jí) T1 6樓

用log plore 看了一下,怎么只看到最近三天的日志啊。 但是ldf文件很大啊,比mdf文件還要大呢。
我要想恢復(fù)到10月20號(hào)的數(shù)據(jù)。

我的數(shù)據(jù)庫(kù)設(shè)置都是默認(rèn)設(shè)置,因?yàn)椴辉趺炊栽O(shè)置都沒有修改。

hdzhangnudthdzhangnudt11-13 23:43
等級(jí) T1 7樓

為什么用explorer只看到最近幾天的記錄??????

caishaosongjavacaishaosongjava09-27 15:52
等級(jí) T1 8樓

引用 6 樓  的回復(fù):
用log plore 看了一下,怎么只看到最近三天的日志啊。 但是ldf文件很大啊,比mdf文件還要大呢。
我要想恢復(fù)到10月20號(hào)的數(shù)據(jù)。

我的數(shù)據(jù)庫(kù)設(shè)置都是默認(rèn)設(shè)置,因?yàn)椴辉趺炊?,所以設(shè)置都沒有修改。




你好,六樓的,可以共享一下你的工具嗎?

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    欧美不卡午夜中文字幕| 亚洲天堂久久精品成人| 国产精品久久女同磨豆腐| 国产伦精品一区二区三区高清版| 女生更色还是男生更色| 美女激情免费在线观看| 国产又粗又猛又大爽又黄| 亚洲一二三四区免费视频| 91天堂免费在线观看| 在线免费观看一二区视频| 视频在线免费观看你懂的 | 亚洲日本韩国一区二区三区| 国产成人精品资源在线观看| 日本加勒比在线播放一区| 亚洲精品偷拍一区二区三区| 日韩在线欧美一区二区| 亚洲三级视频在线观看免费| 日本本亚洲三级在线播放| 99久久精品免费看国产高清| 高清免费在线不卡视频| 丰满人妻一二区二区三区av| 四季精品人妻av一区二区三区 | 91精品国产综合久久精品| 黄片免费在线观看日韩| 91久久精品中文内射| 欧美精品一区久久精品| 偷拍偷窥女厕一区二区视频| 老熟女露脸一二三四区| 成人午夜爽爽爽免费视频| 国产不卡在线免费观看视频| 偷拍洗澡一区二区三区| 男生和女生哪个更好色| 丰满人妻一二三区av| 日韩在线视频精品中文字幕| 熟妇久久人妻中文字幕| 欧美一区二区三区喷汁尤物 | 日本本亚洲三级在线播放| 国产av一区二区三区麻豆| 国产女同精品一区二区| 亚洲熟女乱色一区二区三区 | 国产亚洲精品久久久优势|