다음을 통해 공유


sp_publication_validation(Transact-SQL)

지정된 게시에서 각 아티클에 대한 아티클 유효성 검사 요청을 시작합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

sp_publication_validation [ @publication = ] 'publication'
    [ , [ @rowcount_only = ] type_of_check_requested ]
    [ , [ @full_or_fast = ] full_or_fast ]
    [ , [ @shutdown_agent = ] shutdown_agent ]
    [ , [ @publisher = ] 'publisher' ]

인수

  • [@publication=] **'**publication'
    게시 이름입니다. publication은 sysname이며 기본값은 없습니다.

  • [@rowcount_only=] rowcount_only
    테이블에 대해 행 개수만 반환할 것인지 여부입니다. rowcount_only는 smallint이며 다음 값 중 하나일 수 있습니다.

    설명

    0

    SQL Server 7.0 호환 체크섬을 수행합니다.

    참고참고
    아티클이 행 필터링되면 체크섬 작업 대신 행 개수 작업이 수행됩니다.

    1(기본값)

    행 개수 검사만 수행합니다.

    2

    행 개수와 이진 체크섬을 수행합니다.

    참고참고
    SQL Server 버전 7.0 구독자에 대해서는 행 개수 유효성 검사만 수행합니다.
  • [@full_or_fast=] full_or_fast
    행 개수 계산에 사용하는 방법입니다. full_or_fast는 tinyint이며 다음 값 중 하나일 수 있습니다.

    설명

    0

    COUNT(*)를 사용하여 전체 개수를 계산합니다.

    1

    sysindexes.rows에서 빠른 계산을 수행합니다. sys.sysindexes에서 계산하면 실제 테이블에서 행을 계산할 때보다 속도가 훨씬 빠릅니다. 그러나 sys.sysindexes는 늦게 업데이트되므로 행 개수가 정확하지 않을 수 있습니다.

    2(기본값)

    먼저 빠른 방법을 시도함으로써 조건부로 빠른 계산 방법을 수행합니다. 빠른 방법에 차이가 있는 경우 전체 방법으로 다시 돌아갑니다. expected_rowcount가 NULL이고 값을 가져오는 데 저장 프로시저를 사용한 경우에는 항상 전체 COUNT(*)가 사용됩니다.

  • [ @shutdown_agent=] shutdown_agent
    유효성 검사가 종료되면 배포 에이전트가 즉시 종료되어야 하는지 여부입니다. shutdown_agent는 bit이며 기본값은 0입니다. 0인 경우 복제 에이전트가 종료되지 않습니다. 1인 경우 마지막 아티클의 유효성 검사가 끝난 뒤에 복제 에이전트가 종료됩니다.

  • [ @publisher = ] 'publisher'
    SQL Server 이외 게시자를 지정합니다. publisher는 sysname이며 기본값은 NULL입니다.

    [!참고]

    SQL Server 게시자에서 유효성 검사를 요청할 때는 publisher를 사용하면 안 됩니다.

반환 코드 값

0(성공) 또는 1(실패)

주의

sp_publication_validation은 트랜잭션 복제에서 사용됩니다.

sp_publication_validation은 게시와 연관된 아티클이 활성화된 이후에 언제라도 호출할 수 있습니다. 프로시저는 수동으로 한 번 실행하거나 데이터의 유효성을 검사하는 예정된 작업의 일부로 정기적으로 실행할 수 있습니다.

응용 프로그램에 즉시 업데이트 구독자가 있는 경우 sp_publication_validation이 의사 오류를 발견할 수 있습니다. sp_publication_validation은 먼저 게시자에서 행 개수 또는 체크섬을 계산한 다음 구독자에서 검사합니다. 즉시 업데이트 트리거는 행 개수 또는 체크섬이 게시자에서 완료된 다음에 구독자의 업데이트를 게시자로 전파할 수 있으므로 행 개수 또는 체크섬이 구독자에서 완료되기 전에 값을 변경할 수 있습니다. 게시의 유효성을 검사하는 동안 구독자 및 게시자에서 값이 변경되지 않았는지 확인하려면 유효성 검사 동안 게시자에서 MS DTC(Microsoft Distributed Transaction Coordinator) 서비스를 중지하십시오.

사용 권한

sysadmin 고정 서버 역할 또는 db_owner 고정 데이터베이스 역할의 멤버만 sp_publication_validation을 실행할 수 있습니다.