sp_attachsubscription(Transact-SQL)

적용 대상:SQL ServerAzure SQL Database

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

Important

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

Transact-SQL 구문 표기 규칙

구문

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

인수

[ @dbname = ] N'dbname'

대상 구독 데이터베이스의 이름을 지정합니다. @dbname 기본값이 없는 sysname입니다.

[ @filename = ] N'filename'

기본 데이터 파일(.mdf)의 이름과 물리적 위치입니다. @filename nvarchar(260)이며 기본값은 없습니다.

[ @subscriber_security_mode = ] subscriber_security_mode

동기화할 때 구독자에 연결할 때 사용할 구독자의 보안 모드입니다. @subscriber_security_mode 기본값NULLint입니다.

참고 항목

Windows 인증을 사용해야 합니다. @subscriber_security_mode 아닌 1 경우(Windows 인증) 오류가 발생합니다.

[ @subscriber_login = ] N'subscriber_login'

동기화할 때 구독자에 연결할 때 사용할 구독자 로그인 이름입니다. @subscriber_login sysname이며 기본값은 .입니다NULL.

참고 항목

이 매개 변수는 더 이상 사용되지 않으며 스크립트의 이전 버전과의 호환성을 위해 기본. @subscriber_security_mode 지정되지 않고 1@subscriber_login 지정하면 오류가 발생합니다.

[ @subscriber_password = ] N'subscriber_password'

구독자 암호입니다. @subscriber_password 기본값NULL인 sysname입니다.

참고 항목

이 매개 변수는 더 이상 사용되지 않으며 스크립트의 이전 버전과의 호환성을 위해 기본. @subscriber_security_mode 없고 1@subscriber_password 지정되면 오류가 발생합니다.

[ @distributor_security_mode = ] distributor_security_mode

동기화할 때 배포자에 연결할 때 사용할 보안 모드입니다. @distributor_security_mode 기본값1인 int입니다.

  • 0 은 SQL Server 인증을 지정합니다.
  • 1는 Windows 인증 지정합니다.

가능하면 Windows 인증을 사용하세요.

[ @distributor_login = ] N'distributor_login'

동기화할 때 배포자에 연결할 때 사용할 배포자 로그인입니다. @distributor_login 기본값NULL인 sysname입니다. @distributor_security_mode 설정된 0경우 @distributor_login 필요합니다.

[ @distributor_password = ] N'distributor_password'

배포자 암호입니다. @distributor_password sysname이며 기본값은 .입니다NULL. @distributor_security_mode 설정된 0경우 @distributor_password 필요합니다. @distributor_password은 120자보다 짧아야 합니다.

Important

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

[ @publisher_security_mode = ] publisher_security_mode

동기화할 때 게시자에 연결할 때 사용할 보안 모드입니다. @publisher_security_mode 기본값1int입니다.

  • 이면 0SQL Server 인증을 지정합니다.
  • 이면 1Windows 인증을 지정합니다. 가능하면 Windows 인증을 사용하세요.

[ @publisher_login = ] N'publisher_login'

동기화할 때 게시자에 연결할 때 사용할 로그인입니다. @publisher_login sysname이며 기본값은 .입니다NULL.

[ @publisher_password = ] N'publisher_password'

게시자에 연결할 때 사용되는 암호입니다. @publisher_password sysname이며 기본값은 .입니다NULL. @publisher_password은 120자보다 짧아야 합니다.

Important

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

[ @job_login = ] N'job_login'

에이전트가 실행되는 Windows 계정에 대한 로그인입니다. @job_login nvarchar(257)이며 기본값은 없습니다. 이 Windows 계정은 항상 배포자에 대한 에이전트 연결에 사용됩니다.

[ @job_password = ] N'job_password'

에이전트가 실행되는 Windows 계정의 암호입니다. @job_password sysname이며 기본값은 .입니다NULL. job_password은 120자보다 짧아야 합니다.

Important

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

[ @db_master_key_password = ] N'db_master_key_password'

사용자 정의 DMK(데이터베이스 마스터 키)의 암호입니다. @db_master_key_password 기본값NULL인 nvarchar(524)입니다. @db_master_key_password 지정하지 않으면 기존 DMK가 삭제되고 다시 만들어집니다.

Important

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

반환 코드 값

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

설명

sp_attachsubscription는 스냅샷 복제본(replica)tion, 트랜잭션 복제본(replica) 및 병합 복제본(replica)에 사용됩니다.

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

사용 권한

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