日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【数据库的备份与还原】 .

發(fā)布時間:2023/11/30 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据库的备份与还原】 . 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

差異備份,日志備份還原

?

IF?DB_ID('db')?IS?NOT?NULL

DROP?DATABASE?db

GO

?

CREATE?DATABASE?db

GO

?

CREATE?TABLE?db.dbo.T(ID?INT?PRIMARY?KEY?IDENTITY(1,1));

GO

?

BACKUP?DATABASE?db?TO?DISK='d:/1.bak'?WITH?FORMAT

GO

?

INSERT?INTO?db.dbo.T?DEFAULT?VALUES

GO

?

BACKUP?DATABASE?db?TO?DISK='d:/2.bak'?WITH?FORMAT,DIFFERENTIAL

GO

?

INSERT?INTO?db.dbo.T?DEFAULT?VALUES

GO

?

BACKUP?LOG?db?TO?DISK='d:/3.bak'?WITH?FORMAT

GO

?

DROP?DATABASE?db;

?

RESTORE?DATABASE?db?FROM?DISK='d:/1.bak'?WITH?RECOVERY,REPLACE;

GO

?

SELECT?COUNT(*)?FROM?db.dbo.T;

GO

?

DROP?DATABASE?db;

GO

?

RESTORE?DATABASE?db?FROM?DISK='d:/1.bak'?WITH?NORECOVERY,REPLACE;

GO

?

RESTORE?DATABASE?db?FROM?DISK='d:/2.bak'?WITH?RECOVERY;

GO

?

SELECT?COUNT(*)?FROM?db.dbo.T;

?

DROP?DATABASE?db;

?

RESTORE?DATABASE?db?FROM?DISK='d:/1.bak'?WITH?NORECOVERY,REPLACE;

GO

?

RESTORE?DATABASE?db?FROM?DISK='d:/2.bak'?WITH?NORECOVERY;

GO

?

RESTORE?LOG?db?FROM?DISK='d:/3.bak'?WITH?RECOVERY;

GO

?

SELECT?COUNT(*)?FROM?db.dbo.T;

?

DROP?DATABASE?db;

?

使用日志恢復(fù)數(shù)據(jù)庫

?

IF?DB_ID('db')?IS?NOT?NULL

DROP?DATABASE?db;

GO

?

CREATE?DATABASE?db;

GO

?

CREATE?TABLE?db.dbo.T(ID?INT?PRIMARY?KEY?IDENTITY(1,1));

GO

?

BACKUP?DATABASE?db?TO?DISK='d:/1.bak'?WITH?FORMAT;

GO

?

INSERT?INTO?db.dbo.T?DEFAULT?VALUES;

GO

?

BACKUP?LOG?db?TO?DISK='d:/2.bak'?WITH?FORMAT;

GO

?

INSERT?INTO?db.dbo.T?DEFAULT?VALUES;

GO

?

BACKUP?LOG?db?TO?DISK='d:/3.bak'?WITH?FORMAT;

GO

?

RESTORE?DATABASE?db?FROM?DISK='d:/1.bak'?WITH?RECOVERY,REPLACE;

GO

?

SELECT?*?FROM?db.dbo.T

GO

?

RESTORE?DATABASE?db?FROM?DISK='d:/1.bak'?WITH?NORECOVERY,REPLACE;

GO

?

RESTORE?LOG?db?FROM?DISK='d:/2.bak'?WITH?RECOVERY;

GO

?

SELECT?*?FROM?db.dbo.T

GO

?

RESTORE?DATABASE?db?FROM?DISK='d:/1.bak'?WITH?NORECOVERY,REPLACE;

GO

?

RESTORE?LOG?db?FROM?DISK='d:/2.bak'?WITH?NORECOVERY;

GO

?

RESTORE?LOG?db?FROM?DISK='d:/3.bak'?WITH?RECOVERY;

GO

?

SELECT?*?FROM?db.dbo.T

GO

DROP?DATABASE?db;

?

?

恢復(fù)到特定的備份日期

?

?

IF?DB_ID('db')?IS?NOT?NULL

DROP?DATABASE?db;

GO

?

CREATE?DATABASE?db;

GO

?

CREATE?TABLE?db.dbo.T(ID?INT?PRIMARY?KEY?IDENTITY(1,1));

GO

?

BACKUP?DATABASE?db?TO?DISK='d:/1.bak'?WITH?FORMAT;

GO

?

INSERT?INTO?db.dbo.T?DEFAULT?VALUES;

GO

?

WAITFOR?DELAY?'00:00:01';

?

DECLARE?@Datetime?BINARY(128);

SET?@Datetime=CAST(GETDATE()?AS?BINARY(128));

SET?CONTEXT_INFO?@Datetime

GO

?

INSERT?INTO?db.dbo.T?DEFAULT?VALUES;

GO

?

BACKUP?LOG?db?TO?DISK='d:/2.bak'?WITH?FORMAT;

GO

?

RESTORE?DATABASE?db?FROM?DISK='d:/1.bak'?WITH?NORECOVERY,REPLACE;

GO

?

DECLARE?@Now?DATETIME;

SET?@Now=DATEADD(SECOND,-1,(SELECT?CAST(CONTEXT_INFO()?AS?DATETIME)));

?

RESTORE?LOG?db?FROM?DISK='d:/2.bak'?WITH?RECOVERY,STOPAT=@Now;

GO

?

SELECT?*?FROM?db.dbo.T

?

DROP?DATABASE?db;

GO

?

?

還原到標(biāo)識事務(wù)

--Create?test?database

CREATE?DATABASE?db?

GO

?

--Create?test?table?on?database?named?db

CREATE?TABLE?db.dbo.T?(ID?INT?PRIMARY?KEY);

GO

?

--Create?full?backup?to?disk?'F:/Documents?and?Settings/Administrator/桌面/1.bak'

BACKUP?DATABASE?db?TO?DISK='F:/Documents?and?Settings/Administrator/桌面/1.bak'?WITH?FORMAT;

GO

?

--Begin?a?marked?transaction?"Tran1"

BEGIN?TRAN?Tran1?WITH?MARK

?

INSERT?INTO?db.dbo.T?SELECT?1

?

COMMIT?TRAN?Tran1

?

--Backup?the?transaction?log?to?disk?'F:/Documents?and?Settings/Administrator/桌面/2.bak'

BACKUP?LOG?db?TO?DISK='F:/Documents?and?Settings/Administrator/桌面/2.bak'?WITH?FORMAT

GO

?

DROP?DATABASE?db;

GO

?

RESTORE?DATABASE?db?FROM?DISK='F:/Documents?and?Settings/Administrator/桌面/1.bak'?WITH?NORECOVERY;

GO

?

RESTORE?LOG?db?FROM?DISK='F:/Documents?and?Settings/Administrator/桌面/2.bak'?WITH?STOPBEFOREMARK='Tran1';

GO

?

SELECT?COUNT(*)?FROM?db.dbo.T

?

?

DROP?DATABASE?db;

GO

?

RESTORE?DATABASE?db?FROM?DISK='F:/Documents?and?Settings/Administrator/桌面/1.bak'?WITH?NORECOVERY;

GO

?

RESTORE?LOG?db?FROM?DISK='F:/Documents?and?Settings/Administrator/桌面/2.bak'?WITH?STOPATMARK='Tran1';

GO

?

SELECT?COUNT(*)?FROM?db.dbo.T

?

DROP?DATABASE?db

?

?

數(shù)據(jù)庫的在線還原(讀寫文件組完整恢復(fù)模式)

?

IF?DB_ID('db')?IS?NOT?NULL

DROP?DATABASE?db;

GO

?

CREATE?DATABASE?db

ON?PRIMARY

(

NAME=db_data,

FILENAME='c:/1.mdf'

),

FILEGROUP?FG

(

NAME=db_data_fg,

FILENAME='c:/2.ndf'

)

LOG?ON

(

NAME=db_log,

FILENAME='c:/1.ldf'

)

GO

?

--在主文件組下創(chuàng)建表T

CREATE?TABLE?db.dbo.T(ID?INT?PRIMARY?KEY)?ON?[PRIMARY];

?

--插入記錄

INSERT?INTO?db.dbo.T?SELECT?1

GO

?

--主文件組在線,那么就視為數(shù)據(jù)庫在線

--創(chuàng)建文件db_data_fg備份

BACKUP?DATABASE?db?FILE='db_data_fg'?TO?DISK='c:/1.bak'?WITH?FORMAT

?

--進行在先還原,指定NORECOVERY?以后,就只能按順序進行前滾,同時文件離線還原狀態(tài).

RESTORE?DATABASE?db?FILE='db_data_fg'?FROM?DISK='c:/1.bak'?WITH?NORECOVERY

?

--創(chuàng)建表失敗,因為離線

CREATE?TABLE?db.dbo.T1(ID?INT?PRIMARY?KEY)?ON?fg;

?

--主文件組不受影響,因為只是FG離線還原,只有企業(yè)版才支持哈.這種情況下生產(chǎn)環(huán)境中,不至于數(shù)據(jù)庫全部掛了.

SELECT?*?FROM?db.dbo.T

?

--備份日志,使用COPY_ONLY,因為是要獲取的日志是離線狀態(tài)時候的,COPY_ONLY僅復(fù)制備份是在SQL?Server?2005?中引入的,用于在執(zhí)行特殊目的的備份(例如在聯(lián)機文件還原前備份日志)時使用

--如果是只讀文件的話,明顯不會出現(xiàn)差異數(shù)據(jù),所以不需要日志備份了

--簡單恢復(fù)模式的話,日志都不能備份,所以也是一樣

--順便提一句,如果數(shù)據(jù)庫是文件損壞,而且損壞時候都在線,要使用NO_TRUNCATE獲取日志

BACKUP?LOG?db?TO?DISK='c:/2.bak'?WITH?FORMAT,COPY_ONLY;

?

--恢復(fù)LOG

RESTORE?LOG?db?FROM?DISK='c:/2.bak'?WITH?RECOVERY

?

--FG終于在線了,恭喜下,創(chuàng)建一個T1表

CREATE?TABLE?db.dbo.T1(ID?INT?PRIMARY?KEY)?ON?fg;

GO

?

DROP?DATABASE?db;

?

?

數(shù)據(jù)庫的段落還原(完整恢復(fù)模式)

?

IF?DB_ID('db')?IS?NOT?NULL

DROP?DATABASE?db

GO

?

--創(chuàng)建包含多個文件組的數(shù)據(jù)庫db

CREATE?DATABASE?db

ON?PRIMARY?

(

NAME=db_data,

FILENAME='c:/db_data.mdf'

),

FILEGROUP?A

(

NAME=db_data_a,

FILENAME='c:/db_data_a.ndf'

),

FILEGROUP?B

(

NAME=db_data_b,

FILENAME='c:/db_data_b.ndf'

總結(jié)

以上是生活随笔為你收集整理的【数据库的备份与还原】 .的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。