MS-SQL 백업 및 복원 스크립트 샘플

@ECHO OFF
REM =======================================
REM CODEPAGE를 EUC-KR로 변경
REM =======================================
CHCP 949 1> NUL 2> NUL
CLS

REM =======================================
REM 타임스탬프 변수 만들기
REM =======================================
SET TIMESTAMP_VAL=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
SET TIMESTAMP_VAL=%TIMESTAMP_VAL: =0%

REM =======================================
REM 변수 정의
REM =======================================
SET "PATH=%PATH%;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn"
SET "BACKUP_DIR=C:\0_tmp"
SET "BACKUP_SQL=BACKUP DATABASE db_test TO DISK='%BACKUP_DIR%\%TIMESTAMP_VAL%_db_test.bak' WITH FORMAT,INIT,COMPRESSION"
SET "RESTORE_SQL=RESTORE DATABASE db_test FROM DISK='%BACKUP_DIR%\20221220_132030_db_test.bak'"

REM =======================================
REM 실행
REM =======================================
CALL :RUN_BACKUP
CALL :RUN_RESTORE
EXIT /B 0

:RUN_RESTORE
ECHO =======================================
ECHO 백업 복원을 실행합니다.
ECHO 백업 파일이 생성 된 이후 해당 DB에 대한
ECHO 모든 변경 사항은 손실 됩니다.
ECHO.
ECHO SQLCMD -E -Q "%RESTORE_SQL%"
ECHO =======================================
PAUSE
SQLCMD -E -Q "%RESTORE_SQL%"
EXIT /B

:RUN_BACKUP
ECHO =======================================
ECHO 백업을 실행합니다.
ECHO.
ECHO SQLCMD -E -Q "%BACKUP_SQL%"
ECHO =======================================
PAUSE
SQLCMD -E -Q "%BACKUP_SQL%"
EXIT /B
위로 스크롤