728x90
반응형
- ms-sql은 스냅샷 데이터베이스에 대한 일관된 뷰(특정 시점의 데이터)를 제공한다.
- 특정 시점의 데이터 보고서로 작성되거나, 반복된 복원대신에 스냅샷을 활용할 수 있다.
- 스냅샷은 오로지 읽기 전용이며, 중요 데이터베이스 변경 시 스냅샷 데이터베이스를 만들어두고 작업을 하면 문제가 생길 시 바로 원복이 가능하다.
이 때 3번 째인 중요 데이터베이스 변경 시 작업하고 문제가 생길 시 바로 복원이 가능한 방법 예제를 알아보자
USE master
GO
CREATE DATABASE AW2022_snapshot_20240313_1349
ON (
NAME = 'AdventureWorks2022',
FILENAME = 'C:\SQLServer\SQLData\AdventureWorks2022.ss'
) AS SNAPSHOT OF AdventureWorks2022
GO
create database 뒤에는 스냅샷 명
name = 데이터베이스 마우스 우클릭 -> 속성 -> 파일 탭 에서 mdf의 논리적이름을 지정한다.
filename = 저장할 파일명
as snapshot of 뒤에는 지정할 DB명을 적는다.
위 사진 처럼 스냅샷이 읽기 전용으로 생성된 것을 확인 할 수 있다.
이제 원본 데이터를 실수로 삭제 또는 업데이트 했다고 가정합니다.
USE AdventureWorks2022
GO
UPDATE PERSON.PERSON
SET FIRSTNAME = 'A'
위 처럼 AdventureWorks2022 DB의 person.person 테이블의 firstname을 전부 update했습니다.
SELECT *
FROM AW2022_snapshot_20240313_1349.PERSON.PERSON
하지만 위 쿼리를 통해 스냅샷의 person.person을 조회하면 스냅샷을 뜬 시점의 데이터가 조회됩니다.
복구를 하려면 아래와 같은 SQL을 입력하면 된다.
USE MASTER
GO
RESTORE DATABASE AdventureWorks2022
FROM DATABASE_SNAPSHOT = 'AW2022_snapshot_20240313_1349'
GO
728x90
반응형
'DB (데이터베이스) > MS-SQL' 카테고리의 다른 글
[MS-SQL]ms-sql 메일 설정 (0) | 2024.07.18 |
---|---|
[MS-SQL] 백업 기록 조회 sql (0) | 2024.07.18 |
[MS-SQL] ms-sql 유지관리 계획 백업 스케쥴 조정 (0) | 2024.04.30 |
[MS-SQL] ms-sql job(작업) 생성 (0) | 2024.04.23 |
[MS-SQL] ms-sql 시스템 데이터베이스 (0) | 2024.03.17 |