--还原到标识事务
CREATE DATABASE PRG
GO
CREATE TABLE PRG.dbo.T (ID INT PRIMARY KEY);
GO
BACKUP DATABASE PRG TO DISK='D:/1.bak' WITH FORMAT;
GO
BEGIN TRAN Tran1 WITH MARK
INSERT INTO PRG.dbo.T SELECT 1
COMMIT TRAN Tran1
BACKUP LOG PRG TO DISK='D:/2.bak' WITH FORMAT
GO
DROP DATABASE PRG;
GO
RESTORE DATABASE PRG FROM DISK='D:/1.bak' WITH NORECOVERY;
GO
RESTORE LOG PRG FROM DISK='D:/2.bak' WITH STOPBEFOREMARK='Tran1';
GO
SELECT COUNT(*) FROM PRG.dbo.T
DROP DATABASE PRG;
GO
RESTORE DATABASE PRG FROM DISK='D:/1.bak' WITH NORECOVERY;
GO
RESTORE LOG PRG FROM DISK='D:/2.bak' WITH STOPATMARK='Tran1';
GO
SELECT COUNT(*) FROM PRG.dbo.T
DROP DATABASE PRG
本文通过创建数据库PRG及一系列表与事务操作,演示如何使用SQL进行事务回滚到特定标记点。首先创建数据库及表,接着进行事务操作并标记,备份数据库,删除后从备份恢复,并选择性地恢复日志到指定标记点前或标记点处,最后验证数据状态。
1579

被折叠的 条评论
为什么被折叠?



