복제 보안 설정 보기 및 수정

적용 대상:SQL ServerAzure SQL Managed Instance

이 항목에서는 SQL Server Management Studio, Transact-SQL 또는 RMO(복제 관리 개체)를 사용하여 SQL Server에서 복제본(replica)tion 보안 설정을 보고 수정하는 방법을 설명합니다. 예를 들어 로그 판독기 에이전트의 연결을 SQL Server 인증에서 Windows 통합 인증으로 변경하거나 Windows 계정 암호가 변경될 때 에이전트 작업을 실행하는 데 사용되는 자격 증명을 변경해야 할 수 있습니다. 각 에이전트에 필요한 사용 권한에 대한 자세한 내용은 복제 에이전트 보안 모델를 참조하세요.

항목 내용

시작하기 전에

제한 사항

  • 사용하는 저장 프로시저는 에이전트 유형 및 서버 연결 유형에 따라 달라집니다.

  • 사용하는 RMO 클래스 및 속성은 에이전트 유형 및 서버 연결 유형에 따라 달라집니다.

보안

보안상의 이유로 암호의 실제 값은 복제본(replica)tion 저장 프로시저에서 반환된 결과 집합에서 마스킹됩니다.

사용 권한

SQL Server Management Studio 사용

다음 대화 상자에서 보안 설정을 확인하고 수정합니다.

  1. SQL Server Management Studio의 복제 폴더에서 사용할 수 있는 복제 암호 업데이트 대화 상자입니다. 복제본(replica) 토폴로지의 서버에서 SQL Server 계정 또는 Windows 계정의 암호를 변경하는 경우 계정을 사용하는 각 에이전트의 암호를 업데이트하는 대신 이 대화 상자를 사용합니다. 둘 이상의 서버에서 에이전트가 동일한 계정을 사용하는 경우 각 서버에 연결하고 암호를 변경해야 합니다. 해당 암호를 사용하는 복제가 있는 모든 위치에서 암호가 업데이트됩니다. 암호는 연결된 서버와 같은 다른 위치에서 업데이트되지 않습니다.

  2. 게시 속성 - <게시> 대화 상자의 에이전트 보안 페이지입니다. 이 대화 상자에 액세스하는 방법은 게시 속성 보기 및 수정을 참조하세요.

  3. 구독 속성 - <구독> 대화 상자 이 대화 상자에 액세스하는 방법에 대한 자세한 내용은 밀어넣기 구독 속성 보기 및 수정, 끌어오기 구독 속성 보기 및 수정을 참조하세요.

  4. 배포자 속성 - <배포자> 및 배포 데이터베이스 속성 - <데이터베이스> 대화 상자 이러한 대화 상자에 액세스하는 방법은 View and Modify Distributor and Publisher Properties을 참조하세요.

  5. 게시자 속성 - <게시자> 대화 상자 이 대화 상자에 액세스하는 방법에 대한 자세한 내용은 배포자 및 게시자 속성 보기 및 수정을 참조하세요.

하나 이상의 에이전트에서 사용하는 계정의 암호를 변경하려면

  1. SQL Server 계정을 사용하는 경우 이 대화 상자에서 SQL Server 계정 암호도 변경합니다. 계정이 Windows 계정인 경우 먼저 Windows에서 암호를 변경합니다. 자세한 내용은 Windows 설명서를 참조하십시오.

    참고 항목

    복제 암호를 변경한 후 해당 암호를 사용하는 각 에이전트를 중지한 다음 다시 시작해야 에이전트에 변경 내용이 적용됩니다.

  2. SQL Server Management Studio의 서버에 커넥트 서버 노드를 확장합니다.

  3. 복제 폴더를 마우스 오른쪽 단추로 클릭한 다음 복제 암호 업데이트를 클릭합니다.

  4. 복제 암호 업데이트 대화 상자에서 계정 및 새 암호를 지정합니다.

  5. 확인을 선택합니다.

스냅샷 에이전트 대한 보안 설정을 변경하려면

  1. 게시 속성 - <게시> 대화 상자의 에이전트 보안 페이지에서 스냅샷 에이전트 텍스트 상자 옆에 있는 보안 설정 단추를 클릭합니다.

  2. 스냅샷 에이전트 보안 대화 상자에서 에이전트가 실행되어야 하는 계정을 지정합니다.

    • 에이전트 계정 텍스트 상자에 새 Windows 계정을 입력합니다.

    • 암호암호 확인 입력란에 강력한 새 암호를 입력합니다.

  3. 에이전트가 배포자에서 게시자에 연결해야 하는 컨텍스트를 지정합니다. 다음 SQL Server 로그인 사용을 선택하는 경우 로그인도 지정해야 합니다.

    • 로그인 텍스트 상자에 로그인 입력

    • 암호암호 확인 입력란에 강력한 새 암호를 입력합니다.

    참고 항목

    게시자가 Oracle 게시자인 경우 연결 컨텍스트는 배포자 속성 - <배포자> 대화 상자에 지정됩니다. 컨텍스트를 변경하는 절차는 아래를 참조하세요.

  4. 확인을 선택합니다.

로그 판독기 에이전트에 대한 보안 설정을 변경하려면

  1. 게시 속성 - <게시> 대화 상자의 에이전트 보안 페이지에서 로그 판독기 에이전트 텍스트 상자 옆에 있는 보안 설정 단추를 클릭합니다.

  2. 로그 판독기 에이전트 보안 대화 상자에서 에이전트가 실행되어야 하는 계정을 지정합니다.

    • 에이전트 계정 텍스트 상자에 새 Windows 계정 입력

    • 암호암호 확인 입력란에 강력한 새 암호를 입력합니다.

  3. 에이전트가 배포자에서 게시자에 연결해야 하는 컨텍스트를 지정합니다. 다음 SQL Server 로그인 사용을 선택하는 경우 로그인도 지정해야 합니다.

    • 로그인 텍스트 상자에 로그인 입력

    • 암호암호 확인 입력란에 강력한 새 암호를 입력합니다.

    참고 항목

    게시자가 Oracle 게시자인 경우 연결 컨텍스트는 배포자 속성 - <배포자> 대화 상자에 지정됩니다. 다음 절차를 사용하여 컨텍스트를 변경합니다.

  4. 확인을 선택합니다.

    참고 항목

    게시된 각 데이터베이스에 대해 하나의 로그 판독기 에이전트가 있습니다. 한 게시에서 에이전트의 보안 설정을 변경하면 게시 데이터베이스의 모든 게시에 대한 설정에 영향을 줍니다.

Oracle 게시에 대한 게시자에 스냅샷 에이전트 및 로그 판독기 에이전트를 연결하는 컨텍스트를 변경하려면

  1. 배포자 속성 - <배포자> 대화 상자의 게시자 페이지에서 게시자 옆에 있는 속성 단추(...)를 클릭합니다.

  2. 에이전트에서 게시자 연결 섹션에서 사용자가 구성한 복제 관리 사용자 스키마에서 사용하는 로그인 및 암호를 지정합니다. 자세한 내용은 Oracle 게시자 구성을 참조하세요.

  3. 확인을 선택합니다.

밀어넣기 구독에 대한 배포 에이전트 대한 보안 설정을 변경하려면

  1. 게시자의 구독 속성 - <구독> 대화 상자에서 다음을 변경할 수 있습니다.

    • 배포 에이전트를 실행하고 배포자에 배포 에이전트를 연결하는 계정을 변경하려면 에이전트 프로세스 계정 행을 클릭한 다음, 행에 있는 속성 단추(...)를 클릭합니다. 배포 에이전트 보안 대화 상자에서 계정 및 암호를 지정합니다.

    • 구독자에 배포 에이전트를 연결하는 컨텍스트를 변경하려면 구독자 연결 행을 클릭한 다음, 행에 있는 속성 단추(...)를 클릭합니다. 커넥트 정보 입력 대화 상자에서 컨텍스트를 지정합니다.

      지연 업데이트 구독을 사용하는 경우 큐 판독기 에이전트는 구독자에 대한 연결에 여기에 지정된 컨텍스트도 사용합니다.

  2. 확인을 선택합니다.

끌어오기 구독에 대한 배포 에이전트 대한 보안 설정을 변경하려면

  1. 구독자의 구독 속성 - <구독> 대화 상자에서 다음을 변경할 수 있습니다.

    • 배포 에이전트 실행되고 구독자에 연결할 계정을 변경하려면 에이전트 프로세스 계정 행을 클릭한 다음 행의 속성(...) 단추를 클릭합니다. 배포 에이전트 보안 대화 상자에서 계정 및 암호를 지정합니다.

      지연 업데이트 구독을 사용하는 경우 큐 판독기 에이전트는 구독자에 대한 연결에 여기에 지정된 컨텍스트도 사용합니다.

    • 배포 에이전트 배포자에 연결하는 컨텍스트를 변경하려면 배포자 커넥트 행을 클릭한 다음 행의 속성(...) 단추를 클릭합니다. 커넥트 정보 입력 대화 상자에서 컨텍스트를 지정합니다.

  2. 확인을 선택합니다.

밀어넣기 구독에 대한 병합 에이전트 대한 보안 설정을 변경하려면

  1. 게시자의 구독 속성 - <구독> 대화 상자에서 다음을 변경할 수 있습니다.

    • 병합 에이전트를 실행하고 게시자 및 배포자에 병합 에이전트를 연결하는 계정을 변경하려면 에이전트 프로세스 계정 행을 클릭한 다음, 행에 있는 속성 단추(...)를 클릭합니다. 병합 에이전트 보안 대화 상자에서 계정 및 암호를 지정합니다.

    • 구독자에 병합 에이전트를 연결하는 컨텍스트를 변경하려면 구독자 연결 행을 클릭한 다음, 행에 있는 속성 단추(...)를 클릭합니다. 커넥트 정보 입력 대화 상자에서 컨텍스트를 지정합니다.

  2. 확인을 선택합니다.

끌어오기 구독에 대한 병합 에이전트 대한 보안 설정을 변경하려면

  1. 구독자의 구독 속성 - <구독> 대화 상자에서 다음을 변경할 수 있습니다.

    • 병합 에이전트 실행되고 구독자에 연결할 계정을 변경하려면 에이전트 프로세스 계정 행을 클릭한 다음 행의 속성(...) 단추를 클릭합니다. 병합 에이전트 보안 대화 상자에서 계정 및 암호를 지정합니다.

    • 게시자 및 배포자에 병합 에이전트를 연결하는 컨텍스트를 변경하려면 게시자 연결 행을 클릭한 다음, 행에 있는 속성 단추(...)를 클릭합니다. 커넥트 정보 입력 대화 상자에서 컨텍스트를 지정합니다.

  2. 확인을 선택합니다.

큐 판독기 에이전트가 실행되는 계정을 변경하려면

  1. 배포자 속성 - <배포자> 대화 상자의 일반 페이지에서 배포 데이터베이스 옆에 있는 속성(...) 단추를 클릭합니다.

  2. 배포 데이터베이스 속성 - <데이터베이스> 대화 상자에서 에이전트 프로세스 계정 텍스트 상자 옆에 있는 보안 설정 단추를 클릭합니다.

  3. 큐 판독기 에이전트 보안 대화 상자에서 에이전트를 실행하고 배포자에 에이전트를 연결하는 계정을 지정합니다.

    • 프로세스 계정 입력란에 새 Windows 계정을 입력합니다.

    • 암호암호 확인 입력란에 강력한 새 암호를 입력합니다.

  4. 확인을 선택합니다.

    참고 항목

    각 배포 데이터베이스에 대해 하나의 큐 판독기 에이전트가 있습니다. 에이전트의 보안 설정을 변경하면 이 배포 데이터베이스를 사용하는 모든 게시자의 모든 게시에 대한 설정에 영향을 줍니다.

큐 판독기 에이전트가 게시자에 연결할 컨텍스트를 변경하려면

  1. 배포자 속성 - <배포자> 대화 상자의 게시자 페이지에서 게시자 옆에 있는 속성 단추(...)를 클릭합니다.

  2. 게시자에 대한 에이전트 커넥트 섹션에서 에이전트 프로세스 계정 가장 또는 에이전트 커넥트ion 모드 옵션에 대한 SQL Server 인증 값을 지정합니다. SQL Server 인증을 지정하는 경우 로그인암호에 대한 값도 입력합니다.

  3. 확인을 선택합니다.

    참고 항목

    각 배포 데이터베이스에 대해 하나의 큐 판독기 에이전트가 있습니다. 에이전트의 보안 설정을 변경하면 이 배포 데이터베이스를 사용하는 모든 게시자의 모든 게시에 대한 설정에 영향을 줍니다.

구독자에 큐 판독기 에이전트를 연결하는 컨텍스트를 변경하려면

  • 큐 판독기 에이전트는 구독에 대한 배포 에이전트 동일한 연결 컨텍스트를 사용합니다. 자세한 내용은 배포 에이전트 대한 위의 절차를 참조하세요.

즉시 업데이트 끌어오기 구독에 대한 보안 설정을 변경하려면

  1. 구독자의 구독 속성 - <구독> 대화 상자에서 Publisher 커넥트ion 행을 클릭한 다음 행의 속성(...) 단추를 클릭합니다.

  2. 커넥트 정보 입력 대화 상자에서 다음 옵션 중 하나를 선택합니다.

    • 연결된 서버 또는 원격 서버에서 로그인을 사용합니다. sp_addserver(Transact-SQL), sp_addlinkedserver(Transact-SQL), SQL Server Management Studio 또는 다른 방법을 사용하여 구독자와 게시자 간에 원격 서버 또는 연결된 서버를 정의한 경우 이 옵션을 선택합니다.

    • 다음 로그인 및 암호로 SQL Server 인증 사용. 구독자와 게시자 간에 원격 서버 또는 연결된 서버를 정의하지 않은 경우 이 옵션을 선택하세요. 복제는 연결된 서버를 만듭니다. 지정한 계정이 게시자에 이미 있어야 합니다.

  3. 확인을 선택합니다.

참고 항목

이 절차에서는 구독자에서 변경이 수행되는 경우 복제본(replica)tion 트리거가 구독자에서 게시자에 연결하는 데 사용하는 메서드를 변경합니다. 즉시 업데이트 구독에 대한 배포 에이전트 연결된 설정을 변경할 수도 있습니다. 자세한 내용은 이 항목의 앞부분에 있는 절차를 참조하세요.

이 절차는 끌어오기 구독에만 적용됩니다. 밀어넣기 구독의 경우 저장 프로시저 sp_link_publication(Transact-SQL)를 사용합니다.

관리자 연결의 암호를 게시자에서 배포자로 변경하려면

  1. 배포자 속성 - <배포자> 대화 상자의 게시자 페이지에서 암호암호 확인 텍스트 상자에 강력한 암호를 입력합니다.

  2. 확인을 선택합니다.

  3. 게시자 속성 - <게시자> 대화 상자의 일반 페이지에서 암호암호 확인 텍스트 상자에 강력한 암호를 입력합니다.

  4. 확인을 선택합니다.

Transact-SQL 사용

Important

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

복제본(replica)tion 서버에서 저장된 암호의 모든 인스턴스를 변경하려면

  1. master 데이터베이스의 복제본(replica)tion 토폴로지 서버에서 sp_change복제본(replica)tionserverpasswords를 실행합니다. 암호가 변경 @login 되는 Microsoft Windows 계정 또는 Microsoft SQL Server 로그인과 계정 또는 로그인 @password에 대한 새 암호를 지정합니다. 그러면 토폴로지의 다른 서버에 연결할 때 서버의 모든 에이전트에서 사용하는 암호의 모든 인스턴스가 변경됩니다.

    참고 항목

    토폴로지의 특정 서버(예: 배포자 또는 구독자)에 대한 연결의 로그인 및 암호만 변경하려면 이 서버의 이름을 @server지정합니다.

  2. 암호를 업데이트해야 하는 복제본(replica) 토폴로지의 모든 서버에서 1단계를 반복합니다.

    참고 항목

    복제 암호를 변경한 후 해당 암호를 사용하는 각 에이전트를 중지한 다음 다시 시작해야 에이전트에 변경 내용이 적용됩니다.

스냅샷 에이전트 대한 보안 설정을 변경하려면

  1. 게시자에서 sp_helppublication_스냅샷@publication 실행하고 . 그러면 스냅샷 에이전트 대한 현재 보안 설정이 반환됩니다.

  2. 게시자에서 sp_changepublication_스냅샷 실행하고 다음 보안 설정 중 하나 이상을 지정하여 @publication 변경합니다.

    • 에이전트가 실행되는 Windows 계정 또는 이 계정의 암호만 변경하려면 다음을 지정 @job_login 합니다 @job_password.

    • 게시자에 연결할 때 사용되는 보안 모드를 변경하려면 값을 1 또는 0으로 @publisher_security_mode지정합니다.

    • 게시자에 연결할 때 사용되는 보안 모드를 1에서 0으로 변경하거나 이 연결에 사용되는 SQL Server 로그인을 변경할 때 지정 @publisher_login 하고 지정합니다@publisher_password.

    Important

    원격 배포자를 사용하여 게시자를 구성할 때 job_login 및 job_password 비롯한 모든 매개 변수에 제공된 값은 일반 텍스트로 배포자로 전송됩니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간의 연결을 암호화해야 합니다. 자세한 내용은 데이터베이스 엔진(SQL Server 구성 관리자)에 대한 암호화된 커넥트온을 사용하도록 설정하세요.

로그 판독기 에이전트에 대한 보안 설정을 변경하려면

  1. 게시자에서 sp_helplogreader_agent@publisher 실행하고 . 로그 판독기 에이전트에 대한 현재 보안 설정을 반환합니다.

  2. 게시자에서 sp_changelogreader_agent 실행하고 다음 보안 설정 중 하나 이상을 지정하여 @publication 변경합니다.

    • 에이전트가 실행되는 Windows 계정 또는 이 계정의 암호만 변경하려면 다음을 지정 @job_login 합니다 @job_password.

    • 게시자에 연결할 때 사용되는 보안 모드를 변경하려면 값을 1 또는 0으로 @publisher_security_mode지정합니다.

    • 게시자에 연결할 때 사용되는 보안 모드를 1에서 0으로 변경하거나 이 연결에 사용되는 SQL Server 로그인을 변경할 때 지정 @publisher_login 하고 지정합니다@publisher_password.

    참고 항목

    에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.

    Important

    원격 배포자를 사용하여 게시자를 구성할 때 job_login 및 job_password 비롯한 모든 매개 변수에 제공된 값은 일반 텍스트로 배포자로 전송됩니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간의 연결을 암호화해야 합니다. 자세한 내용은 데이터베이스 엔진(SQL Server 구성 관리자)에 대한 암호화된 커넥트온을 사용하도록 설정하세요.

밀어넣기 구독에 대한 배포 에이전트 대한 보안 설정을 변경하려면

  1. 게시 데이터베이스의 게시자에서 sp_helpsubscription 실행하고 지정하고 @publication@subscriber. 배포자에서 실행되는 배포 에이전트 대한 보안 설정을 포함하여 구독 속성을 반환합니다.

  2. 게시 데이터베이스의 게시자에서 sp_changesubscription 실행하여 @publication, @subscriber@subscriber_db값, all@article, 보안 속성@property의 이름 및 속성의 @value새 값을 지정합니다.

  3. 변경되는 다음 보안 속성 각각에 대해 2단계를 반복합니다.

    • 에이전트 실행에 사용되는 Windows 계정을 변경하거나 이 계정의 암호만 변경하려면 @propertydistrib_job_password 값, @value에 새 암호를 지정합니다. 계정 자체를 변경할 때 distrib_job_login 값 @property 과 새 Windows 계정을 지정하는 2단계를 반복합니다.@value

    • 구독자에 연결할 때 사용되는 보안 모드를 변경하려면 subscriber_security_mode@property과 1(Windows 통합 인증) 또는 0(SQL Server 인증) @value값을 지정합니다.

    • 구독자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 subscriber_password@property과 새 암호를 @value지정합니다. @propertysubscriber_login 값, @value에 새 로그인을 지정하고 2단계를 반복합니다.

    참고 항목

    에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.

    Important

    원격 배포자를 사용하여 게시자를 구성할 때 distrib_job_login 및 distrib_job_password 포함한 모든 속성에 제공된 값이 일반 텍스트로 배포자로 전송됩니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간의 연결을 암호화해야 합니다. 자세한 내용은 데이터베이스 엔진(SQL Server 구성 관리자)에 대한 암호화된 커넥트온을 사용하도록 설정하세요.

끌어오기 구독에 대한 배포 에이전트 대한 보안 설정을 변경하려면

  1. 구독자에서 sp_helppullsubscription을 실행하고 @publication를 참조하세요. 구독자에서 실행되는 배포 에이전트 대한 보안 설정을 포함하여 구독 속성을 반환합니다.

  2. 구독 데이터베이스의 구독자에서 sp_change_subscription_properties 실행하여 , , @publisher_db@publication보안 속성@property의 이름 및 속성의 @value새 값을 지정합니다.@publisher

  3. 변경되는 다음 보안 속성 각각에 대해 2단계를 반복합니다.

    • 에이전트 실행에 사용되는 Windows 계정을 변경하거나 이 계정의 암호만 변경하려면 @propertydistrib_job_password 값, @value에 새 암호를 지정합니다. 계정 자체를 변경할 때 distrib_job_login 값 @property 과 새 Windows 계정을 지정하는 2단계를 반복합니다.@value

    • 배포자에 연결하는 데 사용되는 보안 모드를 변경하려면 @property 또는 @property 값, @publisher_security_mode1 (Windows 통합 인증) 또는 @value를 참조하세요.

    • 배포자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 distributor_password@property과 새 암호를 @value지정합니다. 2단계를 반복하고 @property 또는 @property 값을, @value를 참조하세요.

    참고 항목

    에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.

밀어넣기 구독에 대한 병합 에이전트 대한 보안 설정을 변경하려면

  1. 게시 데이터베이스의 게시자에서 sp_helpmergesubscription, 지정 및 @publication@subscriber,@subscriber_db. 배포자에서 실행되는 병합 에이전트 대한 보안 설정을 포함하여 구독 속성을 반환합니다.

  2. 게시 데이터베이스의 게시자에서 sp_changemergesubscription 실행하고 , , @subscriber@subscriber_db보안 속성@property의 이름 및 속성의 @value새 값을 지정@publication합니다.

  3. 변경되는 다음 보안 속성 각각에 대해 2단계를 반복합니다.

    • 에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @property 또는 @property 값을 지정하고 @value를 참조하세요. 계정 자체를 변경할 때 merge_job_login 값 @property 과 새 Windows 계정을 지정하는 2단계를 @value반복합니다.

    • 구독자에 연결할 때 사용되는 보안 모드를 변경하려면 subscriber_security_mode@property과 1(Windows 통합 인증) 또는 0(SQL Server 인증) @value값을 지정합니다.

    • 구독자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 subscriber_password@property과 새 암호를 @value지정합니다. @propertysubscriber_login 값, @value에 새 로그인을 지정하고 2단계를 반복합니다.

    • 게시자에 연결할 때 사용되는 보안 모드를 변경하려면 publisher_security_mode 값과 값 1(Windows 통합 인증) 또는 0(SQL Server 인증)@value을 지정합니다.@property

    • 게시자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 publisher_password@property과 새 암호를 @value지정합니다. 2단계를 반복하여 publisher_login@property과 새 로그인을 @value지정합니다.

    참고 항목

    에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.

    Important

    원격 배포자를 사용하여 게시자를 구성할 때 merge_job_login 및 merge_job_password 비롯한 모든 속성에 제공된 값이 일반 텍스트로 배포자로 전송됩니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간의 연결을 암호화해야 합니다. 자세한 내용은 데이터베이스 엔진(SQL Server 구성 관리자)에 대한 암호화된 커넥트온을 사용하도록 설정하세요.

끌어오기 구독에 대한 병합 에이전트 대한 보안 설정을 변경하려면

  1. 구독자에서 @publication을 지정하고 sp_helpmergepullsubscription을 실행합니다. 구독자에서 실행되는 병합 에이전트 대한 보안 설정을 포함하여 구독 속성을 반환합니다.

  2. 구독 데이터베이스의 구독자에서 sp_change_subscription_properties 실행하여 , , @publisher_db@publication보안 속성@property의 이름 및 속성의 @value새 값을 지정합니다.@publisher

  3. 변경되는 다음 보안 속성 각각에 대해 2단계를 반복합니다.

    • 에이전트가 실행되는 Windows 계정 또는 이 계정의 암호만 변경하려면 merge_job_password@property 값과 새 암호를 @value지정합니다. 계정 자체를 변경할 때 merge_job_login 값 @property 과 새 Windows 계정을 지정하는 2단계를 @value반복합니다.

    • 배포자에 연결하는 데 사용되는 보안 모드를 변경하려면 @property 또는 @property 값, @publisher_security_mode1 (Windows 통합 인증) 또는 @value를 참조하세요.

    • 배포자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 distributor_password@property과 새 암호를 @value지정합니다. 2단계를 반복하고 @property 또는 @property 값을, @value를 참조하세요.

    • 게시자에 연결할 때 사용되는 보안 모드를 변경하려면 publisher_security_mode 값과 값 1(Windows 통합 인증) 또는 0(SQL Server 인증)@value을 지정합니다.@property

    • 게시자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @property 또는 @property 값을 지정하고 @value를 참조하세요. 2단계를 반복하여 publisher_login@property과 새 로그인을 @value지정합니다.

    참고 항목

    에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.

스냅샷 에이전트 대한 보안 설정을 변경하여 구독자에 대해 필터링된 스냅샷 생성하려면

  1. 게시자에서 sp_helpdynamic스냅샷_job@publication 실행하고 . 결과 집합에서 변경할 구독자 파티션의 job_name 값을 확인합니다.

  2. 게시자에서 sp_changedynamic스냅샷_job 실행하고, 1dynamic_snapshot_jobname단계에서 얻은 값, 에이전트가 실행되는 @job_login Windows 계정의 새 암호 @job_password 또는 로그인 및 암호를 지정@publication합니다@job_password.

    Important

    원격 배포자를 사용하여 게시자를 구성할 때 job_login 및 job_password 비롯한 모든 매개 변수에 제공된 값은 일반 텍스트로 배포자로 전송됩니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간의 연결을 암호화해야 합니다. 자세한 내용은 데이터베이스 엔진(SQL Server 구성 관리자)에 대한 암호화된 커넥트온을 사용하도록 설정하세요.

큐 판독기 에이전트의 보안 설정을 변경하려면

  1. 배포자에서 sp_helpqreader_agent 실행합니다. 큐 판독기 에이전트가 실행되는 현재 Windows 계정을 반환합니다.

    • 배포자에서 @job_login@job_password에 Windows 계정 설정을 지정하고 sp_changeqreader_agent를 실행합니다.

    참고 항목

    에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다. 각 배포 데이터베이스에 대해 하나의 큐 판독기 에이전트가 있습니다. 에이전트의 보안 설정을 변경하면 이 배포 데이터베이스를 사용하는 모든 게시자의 모든 게시에 대한 설정에 영향을 줍니다.

  2. 큐 판독기 에이전트는 구독에 대한 배포 에이전트 동일한 연결 컨텍스트를 사용하여 구독자에 연결합니다.

게시자에 연결할 때 즉시 업데이트 구독자가 사용하는 보안 모드를 변경하려면

  1. 구독 데이터베이스의 구독자에서 sp_link_publication 실행합니다. @publisher, @publication, @publisher_db에 대한 게시 데이터베이스 이름을 지정하고 @security_mode에 다음 값 중 하나를 지정합니다.

    • 게시자에서 업데이트할 때 SQL Server 인증을 사용하려면 0 입니다. 이 옵션을 사용하려면 게시자 및 게시자 @login@password에서 유효한 로그인을 지정해야 합니다.

    • 1 - 게시자에 연결할 때 구독자에서 변경 작업을 수행하는 사용자의 보안 컨텍스트를 사용합니다. 이 보안 모드와 관련된 제한 사항은 sp_link_publication 참조하세요.

    • 2는 sp_addlinkedserver(Transact-SQL)를 사용하여 만든 기존 사용자 정의 연결된 서버 로그인을 사용합니다.

원격 배포자의 암호를 변경하려면

  1. 배포 데이터베이스의 배포자에서 sp_changedistributor_password 실행하고 이 로그인에 대한 @password새 암호를 지정합니다.

    Important

    distributor_admin 암호를 직접 변경하지 마세요.

  2. 이 원격 배포자를 사용하는 모든 게시자에서 sp_changedistributor_password 실행하고 1@password단계의 암호를 지정합니다.

RMO(복제 관리 개체) 사용

Important

가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 자격 증명을 저장해야 하는 경우 Microsoft Windows .NET Framework에서 제공하는 암호화 서비스를 사용합니다.

복제본(replica)tion 서버에 저장된 암호의 모든 인스턴스를 변경하려면

  1. ServerConnection 클래스를 사용하여 복제 서버에 대한 연결을 만듭니다.

  2. 1단계의 ReplicationServer 연결을 사용하여 클래스의 인스턴스를 만듭니다.

  3. ChangeReplicationServerPasswords 메서드를 호출합니다. 다음 매개 변수를 지정합니다.

    • security_mode - ReplicationSecurityMode 암호의 모든 인스턴스가 변경되는 인증 유형을 지정하는 값입니다.

    • login - 암호의 모든 인스턴스가 변경되는 로그인입니다.

    • password - 새 암호 값입니다.

      Important

      가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 자격 증명을 저장해야 하는 경우 Windows .NET Framework에서 제공하는 암호화 서비스를 사용합니다.

      참고 항목

      sysadmin 고정 서버 역할의 멤버만 이 메서드를 호출할 수 있습니다.

  4. 암호를 업데이트해야 하는 복제본(replica) 토폴로지의 모든 서버에서 1-3단계를 반복합니다.

트랜잭션 게시에 대한 밀어넣기 구독에 대한 배포 에이전트 대한 보안 설정을 변경하려면

  1. ServerConnection 클래스를 사용하여 게시자 연결을 만듭니다.

  2. TransSubscription 클래스의 인스턴스를 만듭니다.

  3. 구독에 PublicationName대한 , DatabaseName, SubscriberNameSubscriptionDBName 속성을 설정하고 속성에 대한 ConnectionContext 1단계에서 연결을 설정합니다.

  4. LoadProperties 메서드를 호출하여 개체 속성을 가져옵니다. 이 메서드가 false를 반환하는 경우 3단계에서 구독 속성이 올바르게 정의되지 않았거나 구독이 없는 것입니다.

  5. 인스턴스 TransSubscription에서 다음 보안 속성 중 하나 이상을 설정합니다.

  6. (선택 사항) trueCachePropertyChanges값을 지정한 경우 메서드를 CommitPropertyChanges 호출하여 서버에서 변경 내용을 커밋합니다. (기본값)에 대해 CachePropertyChanges false 값을 지정한 경우 변경 내용이 즉시 서버로 전송됩니다.

트랜잭션 게시에 끌어오기 구독에 대한 배포 에이전트 대한 보안 설정을 변경하려면

  1. 클래스를 사용하여 구독자에 대한 연결을 만듭니다 ServerConnection .

  2. TransPullSubscription 클래스의 인스턴스를 만듭니다.

  3. 구독에 PublicationName대한 , DatabaseName, PublisherNamePublicationDBName 속성을 설정하고 속성에 대한 ConnectionContext 1단계에서 연결을 설정합니다.

  4. LoadProperties 메서드를 호출하여 개체 속성을 가져옵니다. 이 메서드가 false를 반환하는 경우 3단계에서 구독 속성이 올바르게 정의되지 않았거나 구독이 없는 것입니다.

  5. 인스턴스 TransPullSubscription에서 다음 보안 속성 중 하나 이상을 설정합니다.

  6. (선택 사항) trueCachePropertyChanges값을 지정한 경우 메서드를 CommitPropertyChanges 호출하여 서버에서 변경 내용을 커밋합니다. (기본값)에 대해 CachePropertyChanges false 값을 지정한 경우 변경 내용이 즉시 서버로 전송됩니다.

병합 게시에 끌어오기 구독에 대한 병합 에이전트 대한 보안 설정을 변경하려면

  1. 클래스를 사용하여 구독자에 대한 연결을 만듭니다 ServerConnection .

  2. MergePullSubscription 클래스의 인스턴스를 만듭니다.

  3. 구독에 PublicationName대한 , DatabaseName, PublisherNamePublicationDBName 속성을 설정하고 속성에 대한 ConnectionContext 1단계에서 연결을 설정합니다.

  4. LoadProperties 메서드를 호출하여 개체 속성을 가져옵니다. 이 메서드가 false를 반환하는 경우 3단계에서 구독 속성이 올바르게 정의되지 않았거나 구독이 없는 것입니다.

  5. 인스턴스 MergePullSubscription에서 다음 보안 속성 중 하나 이상을 설정합니다.

  6. (선택 사항) trueCachePropertyChanges값을 지정한 경우 메서드를 CommitPropertyChanges 호출하여 서버에서 변경 내용을 커밋합니다. (기본값)에 대해 CachePropertyChanges false 값을 지정한 경우 변경 내용이 즉시 서버로 전송됩니다.

병합 게시에 대한 밀어넣기 구독의 병합 에이전트 보안 설정을 변경하려면

  1. ServerConnection 클래스를 사용하여 게시자 연결을 만듭니다.

  2. MergeSubscription 클래스의 인스턴스를 만듭니다.

  3. 구독에 PublicationName대한 , DatabaseName, SubscriberNameSubscriptionDBName 속성을 설정하고 속성에 대한 ConnectionContext 1단계에서 연결을 설정합니다.

  4. LoadProperties 메서드를 호출하여 개체 속성을 가져옵니다. 이 메서드가 false를 반환하는 경우 3단계에서 구독 속성이 올바르게 정의되지 않았거나 구독이 없는 것입니다.

  5. 인스턴스 MergeSubscription에서 다음 보안 속성 중 하나 이상을 설정합니다.

  6. (선택 사항) trueCachePropertyChanges값을 지정한 경우 메서드를 CommitPropertyChanges 호출하여 서버에서 변경 내용을 커밋합니다. (기본값)에 대해 CachePropertyChanges false 값을 지정한 경우 변경 내용이 즉시 서버로 전송됩니다.

트랜잭션 게시자에 연결할 때 즉시 업데이트 구독자가 사용하는 로그인 정보를 변경하려면

  1. 클래스를 사용하여 구독자에 대한 연결을 만듭니다 ServerConnection .

  2. 구독 데이터베이스에 대한 클래스의 ReplicationDatabase 인스턴스를 만듭니다. 를 지정 Name 하고 ServerConnection 1단계부터 지정합니다 ConnectionContext.

  3. LoadProperties 메서드를 호출하여 개체 속성을 가져옵니다. 이 메서드가 false를 반환하는 경우 2단계의 데이터베이스 속성이 잘못 정의되었거나 구독 데이터베이스가 존재하지 않습니다.

  4. 다음 매개 변수를 전달하는 LinkPublicationForUpdateableSubscription 메서드를 호출합니다.

    • 게시자 - 게시자의 이름입니다.

    • PublisherDB - 게시 데이터베이스의 이름입니다.

    • 게시 - 즉시 업데이트 구독자가 구독되는 게시의 이름입니다.

    • 배포자 - 배포자의 이름입니다.

    • PublisherSecurity - A PublisherConnectionSecurityContext 개체

예제(RMO)

이 예제에서는 제공된 로그인 값을 검사 제공된 Windows 로그인 또는 서버에서 복제본(replica) 의해 저장된 SQL Server 로그인에 대한 모든 암호를 변경합니다.

// Set the Distributor and distribution database names.
string serverName = publisherInstance;

ReplicationServer server;

// Create a connection to the Distributor using Windows Authentication.
ServerConnection conn = new ServerConnection(serverName);

try
{
    // Open the connection. 
    conn.Connect();

    server = new ReplicationServer(conn);

    // Load server properties, if it exists.
    if (server.LoadProperties())
    {
        string[] slash = new string[1];
        slash[0] = @"\";

        // If the login is in the form string\string, assume we are 
        // changing the password for a Windows login.
        if (login.Split(slash, StringSplitOptions.None).Length == 2)
        {
            //Change the password for the all connections that use
            // the Windows login. 
            server.ChangeReplicationServerPasswords(
                    ReplicationSecurityMode.Integrated, login, password);
        }
        else
        {
            // Change the password for the all connections that use
            // the SQL Server login. 
            server.ChangeReplicationServerPasswords(
                    ReplicationSecurityMode.SqlStandard, login, password);
        }
    }
    else
    {
        throw new ApplicationException(String.Format(
            "Properties for {0} could not be retrieved.", publisherInstance));
    }
}
catch (Exception ex)
{
    // Implement the appropriate error handling here. 
    throw new ApplicationException(String.Format(
        "An error occurred when changing agent login " +
        " credentials on {0}.",serverName), ex);
}
finally
{
    conn.Disconnect();
}
' Set the Distributor and distribution database names.
Dim serverName As String = publisherInstance

Dim server As ReplicationServer

' Create a connection to the Distributor using Windows Authentication.
Dim conn As ServerConnection = New ServerConnection(serverName)

Try
    ' Open the connection. 
    conn.Connect()

    server = New ReplicationServer(conn)

    ' Load server properties, if it exists.
    If server.LoadProperties() Then

        ' If the login is in the form string\string, assume we are 
        ' changing the password for a Windows login.
        If login.Split("\").Length = 2 Then

            ' Change the password for the all connections that use
            ' the Windows login. 
            server.ChangeReplicationServerPasswords( _
            ReplicationSecurityMode.Integrated, login, password)
        Else

            ' Change the password for the all connections that use
            ' the SQL Server login. 
            server.ChangeReplicationServerPasswords( _
            ReplicationSecurityMode.SqlStandard, login, password)
        End If
    Else
        Throw New ApplicationException(String.Format( _
         "Properties for {0} could not be retrieved.", publisherInstance))
    End If
Catch ex As Exception
    ' Implement the appropriate error handling here. 
    Throw New ApplicationException(String.Format( _
     "An error occurred when changing agent login " + _
     " credentials on {0}.", serverName), ex)
Finally
    conn.Disconnect()
End Try

후속 작업: 복제본(replica)tion 보안 설정을 수정한 후

에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.

참고 항목

Replication Management Objects Concepts
복제 스크립트 업그레이드(복제 Transact-SQL 프로그래밍)
복제본(replica)에 대한 ID 및 액세스 제어
복제 에이전트 보안 모델
복제 보안을 위한 최선의 구현 방법
복제본(replica)tion 보안 설정 보기 및 수정
Replication System Stored Procedures Concepts