Microsoft SQL Server
데이터베이스 스냅 샷
수색…
비고
데이터베이스 스냅 숏은 스냅 숏을 만드는 순간 소스 데이터베이스와 트랜잭션 방식으로 일관된 SQL Server 데이터베이스의 읽기 전용 정적 뷰입니다.
데이터베이스 스냅 샷은 항상 소스 데이터베이스와 동일한 서버 인스턴스에 상주합니다. 원본 데이터베이스가 업데이트되면 데이터베이스 스냅 숏이 업데이트됩니다.
스냅 샷 생성 과정은 순간적이며 스냅 샷은 소스 데이터베이스의 변경 사항이 적용될 때만 공간을 차지하므로 스냅 샷은 백업과 다릅니다. 반면에 백업은 백업 생성시처럼 데이터의 전체 사본을 저장합니다.
또한 스냅 샷은 데이터베이스의 즉각적인 읽기 전용 복사본을 제공하는 반면, 읽기 쉽도록 백업을 서버에 복원해야합니다 (복원 된 후에도 복원 가능)
데이터베이스 스냅 샷은 Enterprise 및 Developer 에디션에서만 사용할 수 있습니다.
데이터베이스 스냅 숏 만들기
데이터베이스 스냅 숏은 SQL Server 데이터베이스 (원본 데이터베이스)의 읽기 전용 정적 뷰입니다. 백업과 비슷하지만 클라이언트가 스냅 샷 데이터베이스를 쿼리 할 수 있도록 다른 데이터베이스로도 사용할 수 있습니다.
CREATE DATABASE MyDatabase_morning -- name of the snapshot ON ( NAME=MyDatabase_data, -- logical name of the data file of the source database FILENAME='C:\SnapShots\MySnapshot_Data.ss' -- snapshot file; ) AS SNAPSHOT OF MyDatabase; -- name of source database
여러 파일로 데이터베이스의 스냅 샷을 만들 수도 있습니다.
CREATE DATABASE MyMultiFileDBSnapshot ON (NAME=MyMultiFileDb_ft, FILENAME='C:\SnapShots\MyMultiFileDb_ft.ss'), (NAME=MyMultiFileDb_sys, FILENAME='C:\SnapShots\MyMultiFileDb_sys.ss'), (NAME=MyMultiFileDb_data, FILENAME='C:\SnapShots\MyMultiFileDb_data.ss'), (NAME=MyMultiFileDb_indx, FILENAME='C:\SnapShots\MyMultiFileDb_indx.ss') AS SNAPSHOT OF MultiFileDb;
데이터베이스 스냅 샷 복원
원본 데이터베이스의 데이터가 손상되거나 잘못된 데이터가 데이터베이스에 기록되는 경우 손상 이전의 데이터베이스 스냅 숏으로 데이터베이스를 되 돌리는 것이 백업에서 데이터베이스를 복원하는 적절한 대안 일 수 있습니다.
RESTORE DATABASE MYDATABASE FROM DATABASE_SNAPSHOT='MyDatabase_morning';
경고 : 스냅 샷이 생성 된 이후 원본 데이터베이스에 대한 모든 변경 사항 이 삭제 됩니다!
스냅 샷 삭제
DELETE DATABASE 문을 사용하여 데이터베이스의 기존 스냅 샷을 삭제할 수 있습니다.
DROP DATABASE Mydatabase_morning
이 문에서 데이터베이스 스냅 샷의 이름을 참조해야합니다.