개발/database

[mssql] 데이터 베이스 백업 복원

가시죠 2022. 1. 20. 23:16
반응형

1.백업

backup database [데이터베이스명] to disk='[드라이브경로파일명]' with init, compression;

예시쿼리

backup database hitomisdb to disk to disk='F:\backup\hitomisdb.bak' with init, compression;

2.복원전 정보확인

restore filelistonly from disk='[드라이브경로파일명]'

예시쿼리

restore filelistonly from disk='[드라이브경로파일명]'

3. 복원

복원전 정보확인 쿼리 실행 시 조회되는 내용을 move 내용 부분에 적어준다.

restore database [대상데이터베이스명] from disk='[백업파일명]'
with
move '[원본 primary]' to '[대상데이터베이스파일.mdf]'
, move '[원본 filegroup]' to '[대상데이터베이스파일_fg.ndf]
, move '[원본 log]' to '[대상데이터베이스파일_log.ldf]'
;

예시쿼리

restore database hitomisdb2 from disk='F:\backup\hitomisdb.bak'
with
  move 'hitomisdb' to 'F:\data\hitomisdb2.mdf'
, move 'hitomis_fg1' to 'F:\data\hitomisdb2_fg1.ndf'
, move 'hitomis_log' to 'F:\data\hitomisdb2_log.ldf'
;

4. 호환성 수준 변경

alter database hitomisdb2 set compatibility_level=140;

5. 사용현황 갱신

dbcc updateusage(0) with no_infomsgs;

6. 페이지 갱신

alter database hitomisdb2 set page_verify checksum;

오류 메시지 별 조치 방법

  1. the backup set holds a backup of a database other then the existing
      1. 복원 쿼리 부분에 replace 구문 추가
        ... with replace ...
  2. exclusive access could not be obtained because the database is in use
    • 대상데이터베이스를 offline 모드로 변경하고 3. 복원 쿼리 실행
반응형