|
本帖最后由 session 于 2013-4-28 14:43 编辑
- USE master
- --创建并完全备份数据库
- CREATE DATABASE db
- CREATE TABLE db.dbo.tb(id int)
- BACKUP DATABASE db TO DISK='c:\db.bak' WITH FORMAT
- GO
- --标记事务处理
- BEGIN TRANSACTION Tran1 WITH MARK
- INSERT db.dbo.tb SELECT 1
- COMMIT TRAN Tran1
- --事务完成后插入数据
- GO
- --还原数据到事务标记 Tran1 前
- BACKUP LOG db TO DISK='c:\db_log.bak' WITH FORMAT
- DROP DATABASE db
- RESTORE DATABASE db FROM DISK='c:\db.bak' WITH NORECOVERY
- RESTORE LOG db FROM DISK='c:\db_log.bak' WITH STOPBEFOREMARK='Tran1'
- SELECT COUNT(*) FROM db.dbo.tb
- /*结果
- ---------
- 1
- --*/
- GO
- --还原数据库到事务标记 Tran1 后
- DROP DATABASE db
- RESTORE DATABASE db FROM DISK='c:\db.bak' WITH NORECOVERY
- RESTORE LOG db FROM DISK='c:\db_log.bak' WITH STOPATMARK='Tran1'
- SELECT COUNT(*) FROM db.dbo.tb
- /*--结果
- -----------
- 0
- (所影响的行数为 1 行)
- --*/
- GO
- --删除测试
- DROP DATABASE db
复制代码
|
|