다음을 통해 공유


복제 보안 설정 보기 및 수정

적용 대상: SQL Server Azure SQL Managed Instance

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

항목 내용

시작하기 전에

제한 사항

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

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

보안

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

사용 권한

SQL Server Management Studio 사용

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

  1. SQL Server Management Studio의 복제 폴더에서 사용할 수 있는 복제 비밀번호 업데이트 대화 상자입니다. 복제 토폴로지의 서버에서 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. 게시자에 대한 에이전트 연결 섹션에서 에이전트 프로세스 계정 또는 에이전트 연결 모드 옵션에 대한 SQL Server 인증 가장 값을 지정합니다. SQL Server 인증을 사용하도록 설정하는 경우 로그인암호 값도 입력해야 합니다.

  3. 확인을 선택합니다.

    참고 항목

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

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

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

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

  1. 구독자의 구독 속성 - <구독> 대화 상자에서 게시자 연결 행을 클릭한 다음, 행에 있는 속성() 버튼을 클릭합니다.

  2. 연결 정보 입력 대화 상자에 다음 중 하나의 옵션을 선택합니다.

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

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

  3. 확인을 선택합니다.

참고 항목

이 절차에서는 구독자에서 변경이 수행될 때 복제 트리거가 구독자에서 게시자에 연결하는 데 사용하는 방법을 변경합니다. 즉시 업데이트 구독에 대한 배포 에이전트 연결된 설정을 변경할 수도 있습니다. 자세한 내용은 이 항목의 앞부분에 나오는 링크를 참조하세요.

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

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

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

  2. 확인을 선택합니다.

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

  4. 확인을 선택합니다.

Transact-SQL 사용

Important

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

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

  1. master 데이터베이스의 복제 토폴로지 서버에서 sp_changereplicationserverpasswords를 실행합니다. Microsoft Windows 계정 또는 @login의 암호를 변경할 Microsoft SQL Server 로그인을 지정하고 @password에 계정이나 로그인에 대한 새로운 비밀번호를 지정하세요. 그러면 토폴로지의 다른 서버에 연결할 때 서버의 모든 에이전트에서 사용하는 암호의 모든 인스턴스가 변경됩니다.

    참고 항목

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

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

    참고 항목

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

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

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

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

    • 에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @job_login@job_password를 지정합니다.

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

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

    Important

    게시자에서 원격 배포자를 사용하여 구성하는 경우 job_loginjob_password를 비롯한 모든 매개 변수에 제공된 값이 일반 텍스트로 배포자에게 보내집니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 데이터베이스 엔진에 대한 암호화된 연결 사용(SQL Server 구성 관리자)을 참조하세요.

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

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

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

    • 에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @job_login@job_password를 지정합니다.

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

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

    참고 항목

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

    Important

    게시자에서 원격 배포자를 사용하여 구성하는 경우 job_loginjob_password를 비롯한 모든 매개 변수에 제공된 값이 일반 텍스트로 배포자에게 보내집니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 데이터베이스 엔진에 대한 암호화된 연결 사용(SQL Server 구성 관리자)을 참조하세요.

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

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

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

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

    • 에이전트 실행에 사용되는 Windows 계정을 변경하거나 이 계정의 암호만 변경하려면 @propertydistrib_job_password 값, @value에 새로운 비밀번호를 지정하세요. 계정 자체를 변경하는 경우 2단계를 반복하고 @propertydistrib_job_login 값을, @value에 새 Windows 계정을 지정합니다.

    • 구독자에 연결하는 데 사용되는 보안 모드를 변경하려면 @propertysubscriber_security_mode 값을, @value1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.

    • 구독자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @propertysubscriber_password를 지정하고 @value에 새로운 비밀번호를 지정하세요. 2단계를 반복하고 @propertysubscriber_login 값을 지정하고 @value에 새로운 로그인을 지정합니다.

    참고 항목

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

    Important

    게시자에서 원격 배포자를 사용하여 구성하는 경우 distrib_job_logindistrib_job_password를 비롯한 모든 매개 변수에 제공된 값이 일반 텍스트로 배포자에게 보내집니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 데이터베이스 엔진에 대한 암호화된 연결 사용(SQL Server 구성 관리자)을 참조하세요.

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

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

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

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

    • 에이전트 실행에 사용되는 Windows 계정을 변경하거나 이 계정의 암호만 변경하려면 @propertydistrib_job_password 값, @value에 새로운 비밀번호를 지정하세요. 계정 자체를 변경하는 경우 2단계를 반복하고 @propertydistrib_job_login 값을, @value에 새 Windows 계정을 지정합니다.

    • 배포자에 연결하는 데 사용되는 보안 모드를 변경하려면 @propertydistributor_security_mode 값을, @value1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.

    • 배포자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @propertydistributor_password 값을 지정하고 @value에 새로운 비밀번호를 지정하세요. 2단계를 반복하고 @propertydistributor_login 값을 지정하고 @value에 새로운 로그인을 지정합니다.

    참고 항목

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

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

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

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

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

    • 에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @propertymerge_job_password를, @value에 새로운 비밀번호를 지정하세요. 계정 자체를 변경하는 경우 2단계를 반복하고 @propertymerge_job_login 값을, @value에 새 Windows 계정을 지정합니다.

    • 구독자에 연결하는 데 사용되는 보안 모드를 변경하려면 @propertysubscriber_security_mode 값을, @value1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.

    • 구독자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @propertysubscriber_password를 지정하고 @value에 새로운 비밀번호를 지정하세요. 2단계를 반복하고 @propertysubscriber_login 값을 지정하고 @value에 새로운 로그인을 지정합니다.

    • 게시자에 연결하는 데 사용되는 보안 모드를 변경하려면 @propertypublisher_security_mode 값을, @value1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.

    • 게시자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @propertypublisher_password을 지정하고 @value에 새로운 비밀번호를 지정하세요. 2단계를 반복하고 @propertypublisher_login 값을 지정하고 @value에 새로운 로그인을 지정합니다.

    참고 항목

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

    Important

    게시자에서 원격 배포자를 사용하여 구성하는 경우 merge_job_loginmerge_job_password를 비롯한 모든 매개 변수에 제공된 값이 일반 텍스트로 배포자에게 보내집니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 데이터베이스 엔진에 대한 암호화된 연결 사용(SQL Server 구성 관리자)을 참조하세요.

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

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

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

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

    • 에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @propertymerge_job_password를, @value에 새로운 비밀번호를 지정하세요. 계정 자체를 변경하는 경우 2단계를 반복하고 @propertymerge_job_login 값을, @value에 새 Windows 계정을 지정합니다.

    • 배포자에 연결하는 데 사용되는 보안 모드를 변경하려면 @propertydistributor_security_mode 값을, @value1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.

    • 배포자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @propertydistributor_password 값을 지정하고 @value에 새로운 비밀번호를 지정하세요. 2단계를 반복하고 @propertydistributor_login 값을 지정하고 @value에 새로운 로그인을 지정합니다.

    • 게시자에 연결하는 데 사용되는 보안 모드를 변경하려면 @propertypublisher_security_mode 값을, @value1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.

    • 게시자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @propertypublisher_password를 지정하고 @value에 새로운 비밀번호를 지정하세요. 2단계를 반복하고 @propertypublisher_login 값을 지정하고 @value에 새로운 로그인을 지정합니다.

    참고 항목

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

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

  1. 게시자에서 sp_helpdynamicsnapshot_job를 실행하고 @publication를 지정합니다. 결과 집합에서 변경할 구독자 파티션의 job_name 값을 확인합니다.

  2. 게시자에서 sp_changedynamicsnapshot_job을 실행하고, @publication를 지정하고, dynamic_snapshot_jobname에 1단계에서 가져온 값을 지정하고, @job_password에 새 비밀밀번호를 지정하고, @job_login@job_password에 에이전트가 실행되는 Windows 계정의 암호 또는 로그인을 지정합니다.

    Important

    게시자에서 원격 배포자를 사용하여 구성하는 경우 job_loginjob_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에 다음 값 중 하나를 지정합니다.

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

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

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

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

  1. 배포 데이터베이스의 배포자에서 sp_changedistributor_password을 실행하고 이 @password 로그인에 대한 새로운 비밀번호를 지정하세요.

    Important

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

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

RMO(복제 관리 개체) 사용

Important

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

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

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

  2. ReplicationServer 클래스의 인스턴스를 만들고 1단계에서 만든 연결을 설정합니다.

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

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

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

    • password - 새 암호 값입니다.

      Important

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

      참고 항목

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

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

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

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

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

  3. 게시의 PublicationName, DatabaseName, SubscriberNameSubscriptionDBName 속성을 설정하고 ConnectionContext 속성을 1단계에서 만든 연결로 설정합니다.

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

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

  6. (옵션) CachePropertyChanges에 대해 true 값을 지정했으면 CommitPropertyChanges 메서드를 호출하여 서버의 변경 내용을 커밋합니다. (기본값)에 대해 CachePropertyChanges false 값을 지정한 경우 변경 내용이 즉시 서버로 전송됩니다.

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

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

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

  3. 게시의 PublicationName, DatabaseName, PublisherNamePublicationDBName 속성을 설정하고 ConnectionContext 속성을 1단계에서 만든 연결로 설정합니다.

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

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

  6. (옵션) CachePropertyChanges에 대해 true 값을 지정했으면 CommitPropertyChanges 메서드를 호출하여 서버의 변경 내용을 커밋합니다. (기본값)에 대해 CachePropertyChanges false 값을 지정한 경우 변경 내용이 즉시 서버로 전송됩니다.

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

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

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

  3. 게시의 PublicationName, DatabaseName, PublisherNamePublicationDBName 속성을 설정하고 ConnectionContext 속성을 1단계에서 만든 연결로 설정합니다.

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

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

  6. (옵션) CachePropertyChanges에 대해 true 값을 지정했으면 CommitPropertyChanges 메서드를 호출하여 서버의 변경 내용을 커밋합니다. (기본값)에 대해 CachePropertyChanges false 값을 지정한 경우 변경 내용이 즉시 서버로 전송됩니다.

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

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

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

  3. 게시의 PublicationName, DatabaseName, SubscriberNameSubscriptionDBName 속성을 설정하고 ConnectionContext 속성을 1단계에서 만든 연결로 설정합니다.

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

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

  6. (옵션) CachePropertyChanges에 대해 true 값을 지정했으면 CommitPropertyChanges 메서드를 호출하여 서버의 변경 내용을 커밋합니다. (기본값)에 대해 CachePropertyChanges false 값을 지정한 경우 변경 내용이 즉시 서버로 전송됩니다.

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

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

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

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

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

    • Publisher – 게시자의 이름입니다.

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

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

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

    • PublisherSecurity - A PublisherConnectionSecurityContext 개체

예제(RMO)

다음은 제공된 로그인 값을 확인하고 서버의 복제로 저장된 제공된 Windows 로그인 또는 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

추가 작업: 복제 보안 설정 수정 후

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

참고 항목

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