본문 바로가기

카테고리 없음

[SQL] 백업과 복구 기본 스크립트


데이터베이스 백업과 유효성 체크



-- Backup Database

BACKUP DATABASE [TESTDB]

TO DISK = N'D:\MSSQLEXPR\BACKUP\TESTDB.bak'

WITH 

DESCRIPTION = N'설명',

NAME = N'TESTDB-전체 데이터베이스 백업',

SKIP,                                                       -- 만료일 무시

STATS = 10                                                  -- 진행률 표시(%)

GO


-- Verifying Backup file

DECLARE @BACKUPSETID AS INT

SELECT @BACKUPSETID = POSITION

FROM MSDB..BACKUPSET

WHERE DATABASE_NAME=N'TESTDB' AND BACKUP_SET_ID=(SELECT MAX(BACKUP_SET_ID)

                                              FROM MSDB..BACKUPSET

                                              WHERE DATABASE_NAME=N'TESTDB' )

IF @BACKUPSETID IS NULL BEGIN

    RAISERROR(N'확인하지 못했습니다. 데이터베이스 ''TESTDB'' 대한 백업 정보를 찾을 없습니다.', 16, 1)

END

 

RESTORE VERIFYONLY FROM  DISK = N'D:\MSSQLEXPR\BACKUP\TESTDB.BAK' WITH  FILE = @BACKUPSETID,  NOUNLOAD,  NOREWIND

GO




데이터베이스 복원



RESTORE DATABASE [TESTDB]

FROM DISK = N'D:\MSSQLEXPR\BACKUP\TESTDB.bak'              -- 백업파일원본

WITH 

FILE = 1, 

MOVE N'TESTDB' TO N'D:\MSSQLEXPR\DATA\TESTDB.MDF',         -- MDF 경로

MOVE N'TESTDB_log' TO N'D:\MSSQLEXPR\LOGS\TESTDB.LDF',     -- LDF 경로

REPLACE,                                                -- 덮어쓰기

STATS = 10                                              -- 진행률 표시(%)

GO