다음을 통해 공유


sp_check_for_sync_trigger(Transact-SQL)

적용 대상: SQL Server Azure SQL Managed Instance

구독을 즉시 업데이트하는 데 사용되는 복제 트리거의 컨텍스트에서 사용자 정의 트리거 또는 저장 프로시저가 호출되는지 여부를 결정합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자 또는 구독 데이터베이스의 구독자에서 실행됩니다.

Transact-SQL 구문 표기 규칙

구문

sp_check_for_sync_trigger
    [ @tabid = ] tabid
    [ , [ @trigger_op = ] 'trigger_op' OUTPUT ]
    [ , [ @fonpublisher = ] fonpublisher ]
[ ; ]

인수

[ @tabid = ] tabid

즉시 업데이트 트리거를 검사하는 테이블의 개체 ID입니다. @tabid 기본값이 없는 int입니다.

[ @trigger_op = ] 'trigger_op' OUTPUT

출력 매개 변수가 호출되는 트리거의 형식을 반환할지를 지정합니다. @trigger_op char(10) 형식의 OUTPUT 매개 변수이며 이러한 값 중 하나일 수 있습니다.

설명
Ins INSERT 방아쇠
Upd UPDATE 방아쇠
Del DELETE 방아쇠
NULL(기본값)

[ @fonpublisher = ] fonpublisher

저장 프로시저가 실행되는 위치를 지정합니다. @fonpublisher 비트이며 기본값은 .입니다0.

  • 이면 0실행이 구독자에 있습니다.
  • 이면 1실행이 게시자에 있습니다.

반환 코드 값

0은 저장 프로시저가 즉시 업데이트 트리거의 컨텍스트 내에서 호출되지 않음을 나타냅니다. 1은 즉시 업데이트 트리거의 컨텍스트 내에서 호출되고 있으며 @trigger_op 반환되는 트리거 유형임을 나타냅니다.

설명

sp_check_for_sync_trigger 는 스냅샷 복제 및 트랜잭션 복제에 사용됩니다.

sp_check_for_sync_trigger 는 복제 및 사용자 정의 트리거를 조정하는 데 사용됩니다. 이 저장 프로시저는 복제 트리거의 컨텍스트 내에서 호출되는지 여부를 결정합니다. 예를 들어 사용자 정의 트리거의 본문에서 프로시저 sp_check_for_sync_trigger 를 호출할 수 있습니다. 반환0하는 경우 sp_check_for_sync_trigger 사용자 정의 트리거는 처리를 계속합니다. 반환1되는 경우 sp_check_for_sync_trigger 사용자 정의 트리거가 종료됩니다. 이렇게 하면 복제 트리거가 테이블을 업데이트할 때 사용자 정의 트리거가 실행되지 않습니다.

예제

A. 구독자 테이블의 트리거에 코드 추가

다음 예에서는 구독자 테이블의 트리거에 사용될 수 있는 코드를 보여 줍니다.

DECLARE @retcode INT,
    @trigger_op CHAR(10),
    @table_id INT;

SELECT @table_id = object_id('tablename');

EXEC @retcode = sp_check_for_sync_trigger
    @table_id,
    @trigger_op OUTPUT;

IF @retcode = 1
    RETURN;

B. 게시자 테이블의 트리거에 코드 추가

이 코드는 게시자의 테이블에 있는 트리거에 추가할 수도 있습니다. 코드는 비슷하지만 추가 매개 변수를 sp_check_for_sync_trigger 포함하는 호출입니다.

DECLARE @retcode INT,
    @trigger_op CHAR(10),
    @table_id INT,
    @fonpublisher INT;

SELECT @table_id = object_id('tablename');

SELECT @fonpublisher = 1;

EXEC @retcode = sp_check_for_sync_trigger
    @table_id,
    @trigger_op OUTPUT,
    @fonpublisher;

IF @retcode = 1
    RETURN;

사용 권한

sys.objects 시스템 보기에서 사용 권한이 있는 모든 사용자는 SELECT 실행할 sp_check_for_sync_trigger수 있습니다.