반응형
- /**********************************************************************************************
-- Title : [2k] 표시(Mark)된 트랜잭션 복구하기
-- Reference : dbRang.com
-- Key word : restore database, mark, stopatmark
**********************************************************************************************/
/* 테스트 테이블 생성 */
CREATE TABLE Tab_Sample
( Col1 int identity(1,1) NOT NULL PRIMARY KEY Nonclustered,
Col3 int NULL
)
GO
INSERT Tab_Sample VALUES (1)
INSERT Tab_Sample VALUES (2)
GO
/* 트랜잭션 표시 */
BEGIN TRANSACTION UpdateCol3 WITH MARK 'Update Col3 values'
GO
/* DML 발생 */
UPDATE Tab_Sample
SET Col3 = Col3 * 100
GO
COMMIT TRANSACTION UpdateCol3
GO
/* 표시된 트랜잭션 복원 */
USE master
GO
RESTORE DATABASE Sample
FROM DISK='F:\DBBackup\sample.bak'
WITH FILE = 1
, NORECOVERY
GO
RESTORE LOG Sample
FROM DISK='F:\DBBackup\sample_log.bak'
WITH FILE = 1
, STOPATMARK = 'UpdateCol3'
GO
반응형