SQL 복제에 대한 스냅샷 초기화 옵션 수정
적용 대상: SQL Server Azure SQL Managed Instance
스냅샷을 사용하여 구독을 초기화할 때 지정할 수 있는 다양한 옵션이 있습니다.
스냅샷 형식 지정(SQL Server Management Studio)
게시 속성 - <게시> 대화 상자의 스냅샷 페이지에서 스냅샷 형식을 지정합니다. 이 대화 상자에 액세스하는 방법은 게시 속성 보기 및 수정을 참조하세요.
스냅샷 형식을 지정하려면
게시 속성 - <게시> 대화 상자의 스냅샷 페이지에서 네이티브 SQL Server를 선택합니다. 게시자 또는 구독자가 SQL Server를 실행하지 않는 경우 모든 구독자는 SQL Server 또는 문자를 실행하는 서버여야 합니다.
참고 항목
이 게시가 SQL Server Compact 데이터베이스 또는 SQL Server가 아닌 데이터베이스에 대한 구독을 지원해야 하는 경우가 아니면 네이티브 형식을 선택하는 것이 좋습니다.
확인을 선택합니다.
스냅샷 폴더 위치
기본 스냅샷 위치
배포 구성 마법사의 스냅샷 폴더 페이지에서 기본 스냅샷 위치를 지정합니다. 이 마법사 사용에 대한 자세한 내용은 Configure Publishing and Distribution을 참조하세요. 배포자로 구성되지 않은 서버에 게시를 만드는 경우 새 게시 마법사의 스냅샷 폴더 페이지에서 기본 스냅샷 위치를 지정합니다. 이 마법사를 사용하는 방법에 대한 자세한 내용은 게시 만들기를 참조하세요.
배포자 속성 - <Distributor> 대화 상자의 게시자 페이지에서 기본 스냅샷 위치를 수정합니다. 자세한 내용은 게시 속성 보기 및 수정을 참조하세요. 게시 속성 - <게시> 대화 상자에서 각 게시에 대한 스냅샷 폴더를 설정합니다. 자세한 내용은 게시 속성 보기 및 수정을 참조하세요.
기본 스냅샷 위치를 수정하려면
배포자 속성 - <Distributor> 대화 상자의 게시자 페이지에서 기본 스냅샷 위치를 변경하려는 게시자의 속성 단추(...)를 클릭합니다.
게시자 속성 - <Publisher> 대화 상자에서 기본 스냅샷 폴더 속성에 대한 값을 입력합니다.
참고 항목
스냅샷 에이전트에는 지정한 디렉터리에 대한 쓰기 권한이 있어야 하며 배포 에이전트 또는 병합 에이전트에는 읽기 권한이 있어야 합니다. 끌어오기 구독을 사용하는 경우 공유 디렉터리를 \\computername\snapshot과 같이 UNC(범용 명명 규칙) 경로로 지정해야 합니다. 자세한 내용은 스냅샷 폴더 보안 설정을 참조하세요.
확인을 선택합니다.
대체 스냅샷 위치
대체 스냅샷 위치를 사용하면 일반적으로 배포자에 있는 기본 위치 이외의 위치에 스냅샷 파일을 저장할 수 있습니다. 대체 위치는 다른 서버, 다른 네트워크 드라이브 또는 이동식 미디어(CD-ROM, 이동식 디스크)가 될 수 있습니다.
대체 스냅샷 위치는 게시의 속성으로 저장됩니다. 대체 스냅샷 위치가 게시 속성이기 때문에 배포 에이전트 및 병합 에이전트에서는 동화 프로세스의 일부인 올바른 스냅샷을 찾을 수 있습니다.
대체 스냅샷 폴더 위치를 지정하거나 스냅샷 파일을 압축하려면 초기 스냅샷을 즉시 만들지 말고 게시를 만들어 스냅샷 위치에 대한 게시 속성을 설정한 다음 해당 게시에 대해 스냅샷 에이전트를 실행합니다. 초기 스냅샷을 만든 후 대체 위치를 변경하면 게시에 대해 생성된 스냅샷의 위치가 새 대체 위치로 재배치되지 않습니다. 이 경우 게시 설정에 따라 병합 에이전트나 배포 에이전트가 새 대체 위치에서 스냅샷 파일을 찾지 못할 수 있습니다.
참고 항목
기본 스냅샷 폴더 위치와 동일한 대체 위치(게시 속성 대화 상자 또는 sp_changepublication(Transact-SQL) 사용)를 지정하지 마세요.
주의
WebSync 및 대체 스냅샷 폴더 위치를 동시에 사용하지 마세요.
SQL Server Management Studio 사용
게시 속성 - <게시> 대화 상자의 스냅샷 페이지에서 다음을 수행합니다.
다음 폴더에 파일 배치를 선택한 다음 찾아보기를 클릭하여 디렉터리로 이동하거나 스냅샷 파일을 저장할 디렉터리의 경로를 입력합니다.
참고 항목
스냅샷 에이전트에는 지정한 디렉터리에 대한 쓰기 권한이 있어야 하며 배포 에이전트 또는 병합 에이전트에는 읽기 권한이 있어야 합니다. 끌어오기 구독을 사용하는 경우 공유 디렉터리를 \\computername\snapshot과 같이 UNC(범용 명명 규칙) 경로로 지정해야 합니다. 자세한 내용은 스냅샷 폴더 보안 설정을 참조하세요.
스냅샷 파일을 두 위치에 모두 쓸 필요가 없는 한 기본 폴더에 파일 배치를 지웁니다.
스냅샷 파일을 압축하려면 이 위치에서 스냅샷 파일 압축을 선택합니다. 압축은 일반적으로 CD-ROM과 같은 이동식 미디어의 낮은 대역폭 연결 및 대체 스냅샷 위치에 사용됩니다.
확인을 선택합니다.
Transact-SQL 사용
스냅샷 속성(복제 Transact-SQL 프로그래밍)을 구성할 때 snapshot_in_defaultfolder 값을 false로 지정합니다.
압축 스냅샷
스냅샷 파일 압축은 느린 네트워크를 통해 스냅샷을 전송하거나 이동식 미디어에 저장하고 압축되지 않은 스냅샷이 너무 커서 미디어에 맞지 않는 경우에 적합합니다. 스냅샷 파일 압축은 이러한 상황에서 유용하지만 압축을 통해 스냅샷을 생성하고 적용하는 시간이 늘어나게 됩니다.
압축된 스냅샷 파일은 2GB 이하의 파일을 압축할 수 있는 Microsoft CAB 파일 형식으로 작성됩니다(스냅샷 파일이 2GB보다 크면 압축할 수 없음). 파일을 압축하려면 해당 파일을 대체 스냅샷 폴더에 기록해야 합니다. 기본 스냅샷 폴더에 기록한 파일은 압축할 수 없습니다.
파일은 배포 에이전트 또는 병합 에이전트 실행되는 위치에서 압축되지 않습니다. 끌어오기 구독은 일반적으로 압축된 스냅샷과 함께 사용되므로 파일이 구독자에서 압축되지 않습니다. 구독자가 압축 파일을 받으면 이 파일은 일단 임시 위치에 기록됩니다. 압축된 파일을 구독자에 복사한 후 압축된 파일의 스냅샷 파일은 CAB 유틸리티에 의해 한 번에 하나의 파일 순서대로 압축 해제됩니다. 구독자에 필요한 공간은 압축 스냅숏 파일에 가장 큰 압축 해제 파일의 크기를 더한 값입니다.
참고 항목
스냅샷을 압축하면 네트워크에서의 스냅샷 파일 전송 성능이 향상되는 경우도 있습니다. 그러나 스냅샷을 압축하려면 스냅샷 파일을 생성할 때 스냅샷 에이전트가 추가 처리를 해야 하고, 스냅샷 파일을 적용할 때 배포 에이전트 또는 병합 에이전트가 추가 처리를 해야 합니다. 이 경우 스냅샷 생성 속도가 느려지거나 스냅샷 적용 시간이 늘어날 수 있습니다. 또한 네트워크 오류가 발생하는 경우 압축 스냅샷을 다시 시작하지 못할 수도 있습니다. 따라서 신뢰할 수 없는 네트워크에는 적합하지 않습니다. 네트워크를 통해 압축 스냅샷을 사용할 때는 이러한 장단점을 신중하게 고려해야 합니다.
SQL Server Management Studio 사용
게시 속성 - <게시> 대화 상자의 스냅샷 페이지에서 다음을 수행합니다.
다음 폴더에 파일 배치를 선택한 다음 찾아보기를 클릭하여 디렉터리로 이동하거나 스냅샷 파일을 저장할 디렉터리의 경로를 입력합니다.
참고 항목
스냅샷 에이전트에는 지정한 디렉터리에 대한 쓰기 권한이 있어야 하며 배포 에이전트 또는 병합 에이전트에는 읽기 권한이 있어야 합니다. 끌어오기 구독을 사용하는 경우 공유 디렉터리를 \\computername\snapshot과 같이 UNC(범용 명명 규칙) 경로로 지정해야 합니다. 자세한 내용은 스냅샷 폴더 보안을 참조 하세요.
스냅샷 파일을 두 위치에 모두 쓸 필요가 없는 한 기본 폴더에 파일 배치를 지웁니다.
참고 항목
이 확인란을 선택하면 기본 폴더에 저장된 파일은 압축되지 않습니다. 압축 파일은 이전 단계에서 지정한 대체 위치에만 저장할 수 있습니다.
이 폴더에서 스냅샷 파일 압축을 선택합니다.
확인을 선택합니다.
Transact-SQL 사용
스냅샷 속성을 구성할 때 compress_snapshot 값을 True로 지정합니다.
스냅샷 적용 전후에 스크립트 실행
스냅샷이 적용되기 전이나 후에 구독자에서 실행할 스크립트를 지정할 수 있습니다. 스크립트는 각 구독자에서 로그인 및 스키마(개체 소유자)를 만드는 등 다양한 이유로 사용할 수 있습니다.
각 스크립트에 대한 파일 위치를 지정하고 스냅샷 에이전트 스냅샷 처리가 발생할 때마다 스크립트 파일을 현재 스냅샷 폴더에 복사합니다. 배포 에이전트 또는 병합 에이전트는 스냅샷을 적용할 때 복제된 모든 개체 스크립트보다 먼저 프리 스냅샷 스크립트를 실행합니다. 배포 에이전트 또는 병합 에이전트 복제된 다른 모든 개체 스크립트와 데이터가 적용된 후 스냅샷 후 스크립트를 실행합니다. 스냅샷 애플리케이션이 완료되고 스크립트 파일이 성공적으로 실행되면 스크립트 파일이 구독자의 작업 디렉터리에서 제거됩니다.
이 스크립트는 sqlcmd 유틸리티를 시작하여 실행됩니다. 스크립트를 배포하기 전에 sqlcmd를 사용하여 실행하여 예상대로 실행되도록 합니다. 스냅샷 적용 전후에 실행되는 스크립트의 내용은 반복 가능해야 합니다. 예를 들어 스크립트에서 테이블을 만드는 경우 먼저 해당 테이블이 있는지 확인하고 있는 경우 적절한 조치를 취해야 합니다. 스크립트가 이미 적용된 구독을 다시 초기화해야 하는 경우 다시 초기화하는 동안 새 스냅샷이 적용될 때 스크립트가 다시 적용되므로 스크립트를 반복할 수 있어야 합니다.
스냅샷 파일을 Microsoft CAB 파일 형식으로 압축하면 스크립트도 압축되어 CAB 파일에 배치됩니다. 압축된 스냅샷 파일이 구독자로 전송되고 구독자의 작업 디렉터리로 압축 해제된 후 스냅샷 전 스크립트로 표시된 모든 스크립트가 실행됩니다. 마찬가지로 스냅샷 이후 스크립트는 스냅샷을 적용하는 마지막 단계로 구독자에서 압축 해제되고 실행됩니다.
스크립트 실행
- 게시 속성 - <게시> 대화 상자의 스냅샷 페이지에서 다음을 수행합니다.
스냅샷이 적용되기 전에 실행할 스크립트를 지정하려면 찾아보기를 클릭하여 스크립트로 이동하거나 스냅샷을 적용하기 전에 스크립트 경로를 입력하고 이 스크립트 텍스트 상자를 실행합니다.
참고 항목
배포 에이전트 또는 병합 에이전트 지정한 디렉터리에 대한 읽기 권한이 있어야 합니다. 끌어오기 구독을 사용하는 경우 공유 디렉터리를 \\computername\scripts\myscript.sql 같은 UNC(범용 명명 규칙) 경로로 지정해야 합니다.
스냅샷이 적용된 후 실행할 스크립트를 지정하려면 찾아보기를 클릭하여 스크립트로 이동하거나 스냅샷 적용 후에서 스크립트에 대한 UNC 경로를 입력하고 이 스크립트 텍스트 상자를 실행합니다.
- 확인을 선택합니다.