sp_addscriptexec(Transact-SQL)sp_addscriptexec (Transact-SQL)

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

게시의 모든 구독자에 SQL 스크립트(.sql 파일)를 게시합니다.Posts a SQL script (.sql file) to all Subscribers of a publication. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.This stored procedure is executed at the Publisher on the publication database.

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax


sp_addscriptexec [ @publication = ] publication  
    [ , [ @scriptfile = ] 'scriptfile' ]  
    [ , [ @skiperror = ] 'skiperror' ]  
    [ , [ @publisher = ] 'publisher' ]  

인수Arguments

[ @publication= ] '게시'[ @publication= ] 'publication'
게시의 이름입니다.Is the name of the publication. 게시sysname, 기본값은 없습니다.publication is sysname, with no default.

[ @scriptfile= ] 'scriptfile'[ @scriptfile= ] 'scriptfile'
SQL 스크립트 파일의 전체 경로입니다.Is the full path to the SQL script file. scriptfilenvarchar (4000), 기본값은 없습니다.scriptfile is nvarchar(4000), with no default.

[ @skiperror= ] 'skiperror'[ @skiperror= ] 'skiperror'
스크립트가 처리되는 동안 오류가 발생하면 배포 에이전트 또는 병합 에이전트를 중지할지 여부를 나타냅니다.Indicates whether the Distribution Agent or Merge Agent should stop when an error is encountered during script processing. SkipError비트, 기본값은 0입니다.SkipError is bit, with a default of 0.

0 = 에이전트를 중지 합니다.0 = the agent will stop.

1 = 에이전트 스크립트를 계속 하 고 오류를 무시 합니다.1 = the agent continues the script and ignores the error.

[ @publisher= ] '게시자'[ @publisher= ] 'publisher'
지정 된 비- MicrosoftMicrosoft SQL ServerSQL Server 게시자입니다.Specifies a non- MicrosoftMicrosoft SQL ServerSQL Server publisher. 게시자sysname, 기본값은 NULL입니다.publisher is sysname, with a default of NULL.

참고

게시자 에서 게시할 때 사용할 수 해야는 SQL ServerSQL Server 게시자입니다.publisher should not be used when publishing from a SQL ServerSQL Server Publisher.

반환 코드 값Return Code Values

0(성공) 또는 1(실패)0 (success) or 1 (failure)

주의Remarks

sp_addscriptexec 트랜잭션 복제 및 병합 복제에 사용 됩니다.sp_addscriptexec is used in transactional replication and merge replication.

sp_addscriptexec 스냅숏 복제에 사용 되지 않습니다.sp_addscriptexec is not used for snapshot replication.

사용 하도록 sp_addscriptexec, SQL ServerSQL Server 서비스 계정은 읽기 있어야 하 고 스크립트가 위치에 대해 읽기 권한과 스냅숏 위치에 대 한 쓰기 저장 됩니다.To use sp_addscriptexec, the SQL ServerSQL Server service account must have read and write permissions on the snapshot location and read permissions on the location where any scripts are stored.

sqlcmd 유틸리티 구독자에서 스크립트를 실행 하는 데 사용 하는 스크립트는 구독 데이터베이스에 연결할 때 배포 에이전트 또는 병합 에이전트에서 사용 하는 보안 컨텍스트에서 실행 됩니다.The sqlcmd utility is used to execute the script at the Subscriber, and the script is executed in the security context used by the Distribution Agent or Merge Agent when connecting to the subscription database. 이전 버전의 에이전트를 실행할 때 SQL ServerSQL Server, osql 유틸리티 대신 사용 됩니다 sqlcmd합니다.When the agent is run on a previous version of SQL ServerSQL Server, the osql utility is used instead of sqlcmd.

sp_addscriptexec 구독자에 스크립트를 적용할 때 유용 하 고 사용 하 여 sqlcmd 구독자에 스크립트 내용을 적용 합니다.sp_addscriptexec is useful in applying scripts to subscribers, and uses sqlcmd to apply the contents of the script to the Subscriber. 하지만 구독자 구성은 다양할 수 있으므로 게시자에 게시하기 전에 테스트한 스크립트도 구독자에서 오류를 일으킬 수 있습니다.However, because Subscriber configurations can vary, scripts tested prior to posting to the Publisher may still cause errors on a Subscriber. skiperror 배포 에이전트 또는 병합 에이전트가 오류를 무시 하 고 계속 하는 기능을 제공 합니다.skiperror provides the ability to have the Distribution Agent or Merge Agent ignore errors and continue on. 사용 하 여 sqlcmd 실행 하기 전에 스크립트를 테스트 하려면 sp_addscriptexec합니다.Use sqlcmd to test scripts prior to running sp_addscriptexec.

참고

오류 건너뛰기는 에이전트 기록에 참조로 계속 기록됩니다.Skipped errors will continue to be logged in the Agent history for reference.

사용 하 여 sp_addscriptexec 스냅숏 배달에만 지원 됩니다 FTP를 사용 하 여 게시에 대 한 스크립트 파일을 게시 하려면 MicrosoftMicrosoft SQL ServerSQL Server 구독자입니다.Using sp_addscriptexec to post a script file for publications using FTP for snapshot delivery is only supported for MicrosoftMicrosoft SQL ServerSQL Server Subscribers.

PermissionsPermissions

구성원만는 sysadmin 고정된 서버 역할 또는 db_owner 고정된 데이터베이스 역할을 실행할 수 있는 sp_addscriptexec합니다.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addscriptexec.

관련 항목:See Also

동기화 ( 중 스크립트 실행 복제 TRANSACT-SQL 프로그래밍 ) Execute Scripts During Synchronization (Replication Transact-SQL Programming)
데이터 동기화 Synchronize Data
시스템 저장 프로시저(Transact-SQL)System Stored Procedures (Transact-SQL)