MSSQL 차등백업 방법 및 SQL

DataBase/MS-SQL|2020. 4. 13. 17:01
반응형

차등 백업은 전체 백업 마지막 시점을 기준으로 이후에 수정된 내용을 백업는 방법입니다.

기본적인 내용과 SQL문을 공유합니다.

 

-- 전체 백업

BACKUP DATABASE [test] TO  DISK = N'D:\Backup\test_full.bak' WITH NOFORMAT, NOINIT,  NAME = N'test-전체 데이터베이스 백업', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

 

 

-- 차등백업 1 

BACKUP DATABASE [test] TO  DISK = N'D:\Backup\test_1.bak' WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  NAME = N'test-전체 데이터베이스 백업', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

 

 

-- 차등백업 2 

BACKUP DATABASE [test] TO  DISK = N'D:\Backup\test_2.bak' WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  NAME = N'test-전체 데이터베이스 백업', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

 

 

 

-- 기본 전체 백업 + 차등 복구

문법

RESTORE DATABASE [디비명] FROM DISK = N'풀백업위치'

               WITH MOVE '논리적 DB명' TO 'mdf 복구위치'

                            ,MOVE '논리적 LOG명' TO 'ldf 복구위치',  NORECOVERY,  NOUNLOAD,  STATS = 5;

RESTORE DATABASE [tes디비명] FROM  DISK = N'차등백업위치' WITH  FILE = 1,  NOUNLOAD,  STATS = 5

 

 

RESTORE DATABASE [test3] FROM DISK = N'D:\Backup\test_full.bak'

               WITH MOVE 'test' TO 'C:\DATABASE\MSSQL15.MSSQLSERVER\MSSQL\DATA\test3.mdf'

                            ,MOVE 'test_log' TO 'C:\DATABASE\MSSQL15.MSSQLSERVER\MSSQL\DATA\test3.ldf',  NORECOVERY,  NOUNLOAD,  STATS = 5;

RESTORE DATABASE [test3] FROM  DISK = N'D:\Backup\test_2.bak' WITH  FILE = 1,  NOUNLOAD,  STATS = 5

 

 

 

백업 및 복구 시점별 데이터 체크 

test : 풀백업  ,  test1 : 풀백업+차등1st ,  test2 : 풀백업+차등2nd

 

 

개인적인 생각에서

 

장점은 백업 용량이 데이터 변화에 비례하기 때문에 수정이 적다면 용량도 적어집니다.

수정된 데이터와 용량은 비례하게 됩니다.

 

단점은 전체 백업이 소실되면 복구가 불가능함. 전체 백업본이 있어야 차등백업본이 의미가 있기 때문에

무슨일이 있어도 전체 백업은 잘 보관해야합니다.

 

적당주기별 전체 백업과 차등백업을 처리한다면...스토리지가 좋아합니다.

댓글()