WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院数据库MSSQL Server T-SQL 备份和还原 阅读

T-SQL 备份和还原

 2009-09-14 00:00:00 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劖顐煎☉妯锋瀻闁归偊鍓涘▔姘舵⒑閸涘⿴娈旀繛灞傚妼閳绘捇骞嬪┑鎰濡炪倖姊婚崢褏鎲撮敓锟�
核心提示: Code/*Author:Terry.Sai.M.J 浪客 Location:BeiJingDateTime:GETDATE()Description:恢复到特定的备份日期*/IF DB_ID('db') IS NOT NULL DROP DATABASE db;GOCREATE

Code

/*
Author:Terry.Sai.M.J 浪客
Location:BeiJing
DateTime:GETDATE()
Description:恢复到特定的备份日期
*/

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='c:\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='c:\2.bak' WITH FORMAT;
GO

RESTORE DATABASE db FROM DISK='c:\1.bak' WITH NORECOVERY,REPLACE;
GO

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

RESTORE LOG db FROM DISK='c:\2.bak' WITH RECOVERY,STOPAT=@Now;
GO

SELECT * FROM db.dbo.T

DROP DATABASE db;
GO

Code

/*
Author:Terry.Sai.M.J 浪客
Location:BeiJing
DateTime:GETDATE()
Description:使用日志恢复数据库
*/

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='c:\1.bak' WITH FORMAT;
GO

INSERT INTO db.dbo.T DEFAULT VALUES;
GO

BACKUP LOG db TO DISK='c:\2.bak' WITH FORMAT;
GO

INSERT INTO db.dbo.T DEFAULT VALUES;
GO

BACKUP LOG db TO DISK='c:\3.bak' WITH FORMAT;
GO

RESTORE DATABASE db FROM DISK='c:\1.bak' WITH RECOVERY,REPLACE;
GO

SELECT * FROM db.dbo.T
GO

RESTORE DATABASE db FROM DISK='c:\1.bak' WITH NORECOVERY,REPLACE;
GO

RESTORE LOG db FROM DISK='c:\2.bak' WITH RECOVERY;
GO

SELECT * FROM db.dbo.T
GO

RESTORE DATABASE db FROM DISK='c:\1.bak' WITH NORECOVERY,REPLACE;
GO

RESTORE LOG db FROM DISK='c:\2.bak' WITH NORECOVERY;
GO

RESTORE LOG db FROM DISK='c:\3.bak' WITH RECOVERY;
GO

SELECT * FROM db.dbo.T
GO

DROP DATABASE db;

上一页  1 2 3 4 5 6 7  下一页

Tags:SQL 备份 还原

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接