sp_attachsubscription(Transact-SQL)

기존 구독 데이터베이스를 임의의 구독자에 연결합니다. 이 저장 프로시저는 master 데이터베이스의 새 구독자에서 실행됩니다.

중요 정보중요

이 기능은 더 이상 사용되지 않으며 후속 릴리스에서 제거될 예정입니다. 새로운 개발 작업에서는 이 기능을 사용하면 안 됩니다. 매개 변수가 있는 필터를 사용하여 분할된 병합 게시의 경우 구독을 대량으로 초기화하는 작업을 간단하게 만들어 주는 분할된 스냅숏의 새 기능을 사용하는 것이 좋습니다. 자세한 내용은 매개 변수가 있는 필터를 사용하는 병합 게시의 스냅숏를 참조하십시오. 분할되지 않은 게시의 경우 백업을 사용하여 구독을 초기화할 수 있습니다. 자세한 내용은 스냅숏 없이 트랜잭션 구독 초기화를 참조하십시오.

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

구문

sp_attachsubscription [ @dbname = ] 'dbname' 
        , [ @filename = ] 'filename'
    [ , [ @subscriber_security_mode = ] 'subscriber_security_mode' ]
    [ , [ @subscriber_login = ] 'subscriber_login' ]
    [ , [ @subscriber_password = ] 'subscriber_password' ]
    [ , [ @distributor_security_mode = ] distributor_security_mode ] 
    [ , [ @distributor_login = ] 'distributor_login' ] 
    [ , [ @distributor_password = ] 'distributor_password' ] 
    [ , [ @publisher_security_mode = ] publisher_security_mode ] 
    [ , [ @publisher_login = ] 'publisher_login' ] 
    [ , [ @publisher_password = ] 'publisher_password' ] 
    [ , [ @job_login = ] 'job_login' ] 
    [ , [ @job_password = ] 'job_password' ] 
    [ , [ @db_master_key_password = ] 'db_master_key_password' ]

인수

  • [ **@dbname=** ] 'dbname'
    대상 구독 데이터베이스를 이름으로 지정하는 문자열입니다. dbname는 sysname이며 기본값은 없습니다.

  • [ **@filename=** ] 'filename'
    주 MDF(master 데이터 파일)의 이름 및 물리적 위치입니다. filename은 **nvarchar(260)**이며 기본값은 없습니다.

  • [ **@subscriber\_security\_mode=** ] 'subscriber_security_mode'
    동기화 시 구독자에 연결하는 데 사용할 구독자의 보안 모드입니다. subscriber_security_mode는 int이며 기본값은 NULL입니다.

    [!참고]

    Windows 인증을 사용해야 합니다. subscriber_security_mode가 1(Windows 인증)이 아니면 오류가 반환됩니다.

  • [ **@subscriber\_login=** ] 'subscriber_login'
    동기화 시 구독자에 연결하는 데 사용할 구독자 로그인 이름입니다. subscriber_login은 sysname이며 기본값은 NULL입니다.

    [!참고]

    이 매개 변수는 더 이상 사용되지 않으며 이전 버전 스크립트와의 호환성을 위해서만 유지 관리됩니다. subscriber_security_mode가 1이 아니고 subscriber_login을 지정하면 오류가 반환됩니다.

  • [ **@subscriber\_password=** ] 'subscriber_password'
    구독자 암호입니다. subscriber_password는 sysname이며 기본값은 NULL입니다.

    [!참고]

    이 매개 변수는 더 이상 사용되지 않으며 이전 버전 스크립트와의 호환성을 위해서만 유지 관리됩니다. subscriber_security_mode가 1이 아니고 subscriber_password를 지정하면 오류가 반환됩니다.

  • [ **@distributor\_security\_mode=** ] distributor_security_mode
    동기화 시 배포자에 연결하는 데 사용할 보안 모드입니다. distributor_security_mode는 int이며 기본값은 0입니다. 0은 SQL Server 인증을 지정합니다. 1은 Windows 인증을 지정합니다. 가능하면 Windows 인증을 사용하십시오.

  • [ **@distributor\_login=** ] 'distributor_login'
    동기화 시 배포자에 연결하는 데 사용할 배포자 로그인입니다. distributor_security_mode를 0으로 설정한 경우 distributor_login이 필요합니다. distributor_login은 sysname이며 기본값은 NULL입니다.

  • [ **@distributor\_password=** ] 'distributor_password'
    배포자 암호입니다. distributor_security_mode를 0으로 설정한 경우 distributor_password가 필요합니다. distributor_password는 sysname이며 기본값은 NULL입니다. distributor_password 값은 유니코드 문자로 120자 미만이어야 합니다.

    보안 정보보안 정보

    빈 암호를 사용하지 마십시오. 강력한 암호를 사용하십시오. 가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 자격 증명을 스크립트 파일에 저장해야 하는 경우에는 파일에 무단으로 액세스하지 못하도록 보안을 설정해야 합니다.

  • [ **@publisher\_security\_mode=** ] publisher_security_mode
    동기화 시 게시자에 연결하는 데 사용할 보안 모드입니다. publisher_security_mode는 int이며 기본값은 1입니다. 0은 SQL Server 인증을 지정합니다. 1은 Windows 인증을 지정합니다. 가능하면 Windows 인증을 사용하십시오.

  • [ **@publisher\_login=** ] 'publisher_login'
    동기화 시 게시자에 연결하는 데 사용할 로그인입니다. publisher_login은 sysname이며 기본값은 NULL입니다.

  • [ **@publisher\_password=** ] 'publisher_password'
    게시자에 연결할 때 사용하는 암호입니다. publisher_password는 sysname이며 기본값은 NULL입니다. publisher_password 값은 유니코드 문자로 120자 미만이어야 합니다.

    보안 정보보안 정보

    빈 암호를 사용하지 마십시오. 강력한 암호를 사용하십시오. 가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 자격 증명을 스크립트 파일에 저장해야 하는 경우에는 파일에 무단으로 액세스하지 못하도록 보안을 설정해야 합니다.

  • [ **@job\_login=** ] 'job_login'
    에이전트 실행에 사용되는 Windows 계정의 로그인입니다. job_login은 **nvarchar(257)**이며 기본값은 없습니다. 이 Windows 계정은 에이전트가 배포자에 연결할 때 항상 사용됩니다.

  • [ **@job\_password=** ] 'job_password'
    에이전트 실행에 사용되는 Windows 계정의 암호입니다. job_password는 sysname이며 기본값은 없습니다. job_password 값은 유니코드 문자로 120자 미만이어야 합니다.

    보안 정보보안 정보

    가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 스크립트 파일에 자격 증명을 저장해야 하는 경우에는 무단으로 액세스하지 못하도록 파일에 보안을 설정해야 합니다.

  • [ **@db\_master\_key\_password=** ] 'db_master_key_password'
    사용자 정의 데이터베이스 마스터 키의 암호입니다. db_master_key_password는 **nvarchar(524)**이며 기본값은 NULL입니다. db_master_key_password를 지정하지 않으면 기존 데이터베이스 마스터 키가 삭제되고 다시 생성됩니다.

    보안 정보보안 정보

    가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 스크립트 파일에 자격 증명을 저장해야 하는 경우에는 무단으로 액세스하지 못하도록 파일에 보안을 설정해야 합니다.

반환 코드 값

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

주의

sp_attachsubscription은 스냅숏 복제, 트랜잭션 복제 및 병합 복제에 사용합니다.

게시 보존 기간이 만료된 경우에는 구독을 게시에 연결할 수 없습니다. 보존 기간이 경과된 구독을 지정하면 구독을 연결할 때 또는 구독을 처음으로 동기화할 때 오류가 발생합니다. 게시 보존 기간이 0인 게시는 만료되지 않으므로 무시됩니다.

사용 권한

sysadmin 고정 서버 역할의 멤버만 sp_attachsubscription을 실행할 수 있습니다.

참고 항목

참조

시스템 저장 프로시저(Transact-SQL)