스냅숏 적용 전후에 스크립트 실행Execute Scripts Before and After the Snapshot Is Applied

스냅숏 적용 전후에 구독자에서 스크립트가 실행되도록 지정할 수 있습니다.You can specify scripts to execute at the Subscriber before or after the snapshot is applied. 각 구독자에서 로그인과 스키마(개체 소유자)를 만드는 작업 등 다양한 작업에 스크립트를 사용할 수 있습니다.Scripts can be used for a variety of reasons, such as creating logins and schemas (object owners) at each Subscriber.

사용자가 각 스크립트에 대한 파일 위치를 지정하면 스냅숏 에이전트는 스냅숏 처리가 발생할 때마다 해당 스크립트 파일을 현재 스냅숏 폴더로 복사합니다.You specify a file location for each script, and the Snapshot Agent copies the script files to the current snapshot folder each time snapshot processing occurs. 배포 에이전트 또는 병합 에이전트는 스냅숏을 적용할 때 복제된 모든 개체 스크립트보다 먼저 프리 스냅숏 스크립트를 실행합니다.The Distribution Agent or the Merge Agent runs the pre-snapshot script before any of the replicated object scripts when applying a snapshot. 배포 에이전트 또는 병합 에이전트는 복제된 다른 개체 스크립트 및 데이터가 모두 적용된 후에 포스트 스냅숏 스크립트를 실행합니다.The Distribution Agent or the Merge Agent runs the post-snapshot script after all the other replicated object scripts and data have been applied. 스냅숏 응용 프로그램이 완료되고 스크립트 파일이 성공적으로 실행되면 스크립트 파일은 구독자의 작업 디렉터리에서 제거됩니다.After the snapshot application is complete and script files run successfully, the script files are removed from the working directory on the Subscriber.

스크립트는 sqlcmd 유틸리티를 시작하여 실행합니다.The script is run by launching the sqlcmd utility. 스크립트를 배포하기 전에 sqlcmd 로 스크립트를 실행하여 예상된 대로 실행되는지 확인합니다.Before deploying a script, run it with sqlcmd to ensure it executes as expected. 스냅숏 적용 전후에 실행되는 스크립트의 내용은 반복 가능해야 합니다.The contents of scripts that are executed before and after the snapshot is applied must be repeatable. 예를 들어 스크립트로 테이블을 만들려면 먼저 테이블이 존재하는지 확인하고 테이블이 존재하면 적절한 조치를 취해야 합니다.For example, if you create a table in the script, you should first check for its existence and take appropriate action if it exists. 스크립트가 이미 적용된 구독을 다시 초기화할 필요가 있다면 다시 초기화하는 중에 새 스냅숏이 적용될 때 스크립트도 다시 적용될 것이기 때문에 스크립트는 반복 가능해야 합니다.The script must be repeatable because if you need to reinitialize a subscription for which the script has already been applied, the script will be applied again when the new snapshot is applied during reinitialization.

스냅숏 파일을 MicrosoftMicrosoft CAB 파일 형식으로 압축하는 중이면 스크립트도 압축되어 CAB 파일 내에 위치합니다.If you are compressing the snapshot file (by putting it in MicrosoftMicrosoft CAB file format), the scripts are also compressed and placed in the CAB file. 압축 스냅숏 파일을 구독자로 전송하고 구독자의 작업 디렉터리로 압축을 풀면 프리 스냅숏 스크립트로 표시된 모든 스크립트가 실행됩니다.After the compressed snapshot file is transferred to the Subscriber and decompressed to a working directory on the Subscriber, any script indicated as a pre-snapshot script is executed. 마찬가지로 모든 포스트 스냅숏 스크립트도 압축이 풀리고 스냅숏 적용의 마지막 단계로 구독자에서 실행됩니다.Likewise, any post-snapshot script is decompressed and executed at the Subscriber as the last step in applying the snapshot.

스냅숏 적용 전후에 스크립트를 실행하려면To execute scripts before and after the snapshot is applied

참고 항목See Also

스냅숏으로 구독 초기화 Initialize a Subscription with a Snapshot
스냅숏 옵션Snapshot Options