방법: 데이터베이스 스냅숏 만들기(Transact-SQL)

데이터베이스 스냅숏은 Transact-SQL을 사용해서만 만들 수 있습니다. 데이터베이스를 만들 수 있는 모든 사용자는 데이터베이스 스냅숏을 만들 수 있습니다. 그러나 미러 데이터베이스의 스냅숏을 만들려면 sysadmin 고정 서버 역할의 멤버여야 합니다.

[!참고]

데이터베이스 스냅숏 이름 지정, 생성 시기 결정 및 개수 제한에 대한 고려 사항은 데이터베이스 스냅숏 만들기를 참조하십시오.

데이터베이스 스냅숏을 만들려면

  1. 원본 데이터베이스의 현재 크기를 기준으로 데이터베이스 스냅숏을 저장할 수 있는 충분한 디스크 공간이 있는지 확인합니다. 데이터베이스 스냅숏의 최대 크기는 스냅숏을 생성할 때의 원본 데이터베이스 크기입니다.

  2. AS SNAPSHOT OF 절을 사용하여 파일에서 CREATE DATABASE 문을 실행합니다. 스냅숏을 만들려면 원본 데이터베이스를 구성하는 모든 데이터베이스 파일의 논리적 이름을 지정해야 합니다. 데이터베이스 스냅숏 만들기 구문에 대한 공식적인 설명을 보려면 CREATE DATABASE(Transact-SQL)를 참조하십시오.

    [!참고]

    데이터베이스 스냅숏을 만들 때 로그 파일, 오프라인 파일, 복원 파일 및 존재하지 않는 파일은 CREATE DATABASE 문에 사용할 수 없습니다.

이 섹션에는 데이터베이스 스냅숏을 만드는 예가 포함되어 있습니다.

1. AdventureWorks2008R2 데이터베이스에 대한 스냅숏 만들기

이 예에서는 AdventureWorks2008R2 데이터베이스에 대한 데이터베이스 스냅숏을 만듭니다. 스냅숏 이름 AdventureWorks2008R2_dbss_1800 및 스파스 파일의 파일 이름 AdventureWorks2008R2_data_1800.ss는 생성 시간이 오후 6시(18:00시)임을 나타냅니다.

CREATE DATABASE AdventureWorks2008R2_dbss1800 ON
( NAME = AdventureWorks2008R2_Data, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\AdventureWorks2008R2_data_1800.ss' )
AS SNAPSHOT OF AdventureWorks2008R2;
GO

[!참고]

이 예에서 사용된 .ss 확장명은 임의로 지정됩니다.

2. Sales 데이터베이스에 대한 스냅숏 만들기

이 예에서는 Sales 데이터베이스에 대한 데이터베이스 스냅숏 sales_snapshot1200을 만듭니다. 이 데이터베이스는 CREATE DATABASE(Transact-SQL)의 "파일 그룹을 가진 데이터베이스 만들기" 예에서 만들었습니다.

--Creating sales_snapshot1200 as snapshot of the
--Sales database:
CREATE DATABASE sales_snapshot1200 ON
( NAME = SPri1_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\SPri1dat_1200.ss'),
( NAME = SPri2_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\SPri2dt_1200.ss'),
( NAME = SGrp1Fi1_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\mssql\data\SG1Fi1dt_1200.ss'),
( NAME = SGrp1Fi2_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\SG1Fi2dt_1200.ss'),
( NAME = SGrp2Fi1_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\SG2Fi1dt_1200.ss'),
( NAME = SGrp2Fi2_dat, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\data\SG2Fi2dt_1200.ss')
AS SNAPSHOT OF Sales
GO