방법: 복제 보안 설정 확인 및 수정(복제 Transact-SQL 프로그래밍)
복제에 필요한 보안 계정 설정(로그인 및 암호)은 게시 및 구독을 만들 때 정의됩니다. 이러한 설정은 나중에 복제 저장 프로시저를 사용하여 변경할 수 있습니다. 사용되는 저장 프로시저는 에이전트의 유형과 서버 연결의 유형에 따라 다릅니다.
[!참고]
보안을 위해 암호의 실제 값은 복제 저장 프로시저에 의해 반환된 결과 집합에서 마스킹됩니다.
보안 정보 |
---|
가능한 경우 다음의 모든 절차에서 런타임에 사용자에게 보안 자격 증명을 입력하라는 메시지를 표시하십시오. 스크립트 파일에 자격 증명을 저장하는 경우에는 무단으로 액세스하지 못하도록 파일에 보안을 설정해야 합니다. |
복제 서버에서 저장된 암호의 모든 인스턴스를 변경하려면
master 데이터베이스의 복제 토폴로지에 있는 서버에서 sp_changereplicationserverpasswords를 실행합니다. @login에 Microsoft Windows 계정 또는 암호를 변경할 MicrosoftSQL Server 로그인을 지정하고 @password에 계정이나 로그인에 대한 새 암호를 지정합니다. 이렇게 하면 토폴로지의 다른 서버에 연결할 때 서버의 모든 에이전트에서 사용되는 암호의 모든 인스턴스가 변경됩니다.
[!참고]
토폴로지의 특정 서버에 대한 연결(예: 배포자 또는 구독자)의 로그인과 암호만 변경하려면 @server에 이 서버의 이름을 지정합니다.
암호를 업데이트해야 하는 복제 토폴로지의 모든 서버에서 1단계를 반복합니다.
[!참고]
복제 암호를 변경한 후 해당 암호를 사용하는 각 에이전트를 중지한 다음 다시 시작해야 에이전트에 변경 내용이 적용됩니다.
스냅숏 에이전트의 보안 설정을 변경하려면
게시자에서 sp_helppublication_snapshot을 실행하고 @publication을 지정합니다. 이렇게 하면 스냅숏 에이전트에 대한 현재 보안 설정이 반환됩니다.
게시자에서 sp_changepublication_snapshot을 실행하고 @publication 및 다음 중 변경할 보안 설정을 하나 이상 지정합니다.
에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @job_login 및 @job_password를 지정합니다.
게시자에 연결할 때 사용되는 보안 모드를 변경하려면 @publisher_security_mode에 1 또는 0 값을 지정합니다.
게시자 연결할 때 사용되는 보안 모드를 1에서 0으로 변경하는 경우 또는 이 연결에 사용되는 SQL Server 로그인을 변경하는 경우에는 @publisher_login 및 @publisher_password를 지정합니다.
보안 정보 게시자를 원격 배포자로 구성할 경우 job_login 및 job_password를 비롯한 모든 매개 변수에 제공된 값이 일반 텍스트로 배포자에게 보내집니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 SQL Server 연결 암호화를 참조하십시오.
로그 판독기 에이전트의 보안 설정을 변경하려면
게시자에서 sp_helplogreader_agent를 실행하고 @publisher를 지정합니다. 이렇게 하면 로그 판독기 에이전트에 대한 현재 보안 설정이 반환됩니다.
게시자에서 sp_changelogreader_agent를 실행하고 @publication 및 다음 중 변경할 보안 설정을 하나 이상 지정합니다.
에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @job_login 및 @job_password를 지정합니다.
게시자에 연결할 때 사용되는 보안 모드를 변경하려면 @publisher_security_mode에 1 또는 0 값을 지정합니다.
게시자 연결할 때 사용되는 보안 모드를 1에서 0으로 변경하는 경우 또는 이 연결에 사용되는 SQL Server 로그인을 변경하는 경우에는 @publisher_login 및 @publisher_password를 지정합니다.
[!참고]
에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.
보안 정보 게시자를 원격 배포자로 구성할 경우 job_login 및 job_password를 비롯한 모든 매개 변수에 제공된 값이 일반 텍스트로 배포자에게 보내집니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 SQL Server 연결 암호화를 참조하십시오.
밀어넣기 구독에 대한 배포 에이전트의 보안 설정을 변경하려면
게시 데이터베이스의 게시자에서 sp_helpsubscription을 실행하고 @publication 및 @subscriber를 지정합니다. 이렇게 하면 배포자에서 실행되는 배포 에이전트에 대한 보안 설정을 포함하는 구독 속성이 반환됩니다.
게시 데이터베이스의 게시자에서 sp_changesubscription을 실행하고 @publication, @subscriber, @subscriber_db를 지정하고, @article에 all 값을, @property에 보안 속성의 이름을, @value에 속성의 새 값을 지정합니다.
변경할 다음 각 보안 속성에 대해 2단계를 반복합니다.
에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @property에 distrib_job_password 값을 지정하고 @value에 새 암호를 지정합니다. 계정 자체를 변경하는 경우 @property에 distrib_job_login 값을, @value에 새 Windows 계정을 지정하고 2단계를 반복합니다.
구독자에 연결하는 데 사용되는 보안 모드를 변경하려면 @property에 subscriber_security_mode 값, @value에 1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.
구독자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @property에 subscriber_password 값을 지정하고 @value에 새 암호를 지정합니다. 2단계를 반복하고 @property에 subscriber_login 값을, @value에 새 로그인을 지정합니다.
[!참고]
에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.
보안 정보 원격 배포자로 게시자를 구성할 경우 distrib_job_login 및 distrib_job_password를 포함하여 모든 속성에 제공된 값이 일반 텍스트로 배포자에 보내집니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 SQL Server 연결 암호화를 참조하십시오.
끌어오기 구독에 대한 배포 에이전트의 보안 설정을 변경하려면
구독자에서 sp_helppullsubscription을 실행하고 @publication을 지정합니다. 이렇게 하면 구독자에서 실행되는 배포 에이전트에 대한 보안 설정을 포함하는 구독 속성이 반환됩니다.
구독 데이터베이스의 구독자에서 sp_change_subscription_properties를 실행하고 @publisher, @publisher_db, @publication을 지정하고 @property에 보안 속성의 이름을, @value에 속성의 새 값을 지정합니다.
변경할 다음 각 보안 속성에 대해 2단계를 반복합니다.
에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @property에 distrib_job_password 값을 지정하고 @value에 새 암호를 지정합니다. 계정 자체를 변경하는 경우 @property에 distrib_job_login 값을, @value에 새 Windows 계정을 지정지정하고 2단계를 반복합니다.
배포자에 연결하는 데 사용되는 보안 모드를 변경하려면 @property에 distributor_security_mode 값, @value에 1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.
배포자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @property에 distributor_password 값을 지정하고 @value에 새 암호를 지정합니다. 2단계를 반복하고 @property에 distributor_login 값을, @value에 새 로그인을 지정합니다.
[!참고]
에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.
밀어넣기 구독에 대한 병합 에이전트의 보안 설정을 변경하려면
게시 데이터베이스의 게시자에서 sp_helpmergesubscription을 실행하고 @publication, @subscriber 및 @subscriber_db를 지정합니다. 이렇게 하면 배포자에서 실행되는 병합 에이전트에 대한 보안 설정을 포함하는 구독 속성이 반환됩니다.
게시 데이터베이스의 게시자에서 sp_changemergesubscription을 실행하고 @publication, @subscriber, @subscriber_db를 지정하고, @property에 보안 속성의 이름을, @value에 속성의 새 값을 지정합니다.
변경할 다음 각 보안 속성에 대해 2단계를 반복합니다.
에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @property에 merge_job_password 값을 지정하고 @value에 새 암호를 지정합니다. 계정 자체를 변경하는 경우 2단계를 반복하고 @property에 merge_job_login 값을, @value에 새 Windows 계정을 지정합니다.
구독자에 연결하는 데 사용되는 보안 모드를 변경하려면 @property에 subscriber_security_mode 값, @value에 1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.
구독자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @property에 subscriber_password 값을 지정하고 @value에 새 암호를 지정합니다. 2단계를 반복하고 @property에 subscriber_login 값을, @value에 새 로그인을 지정합니다.
게시자에 연결하는 데 사용되는 보안 모드를 변경하려면 @property에 publisher_security_mode 값, @value에 1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.
게시자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @property에 publisher_password 값을 지정하고 @value에 새 암호를 지정합니다. 2단계를 반복하고 @property에 publisher_login 값을, @value에 새 로그인을 지정합니다.
[!참고]
에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.
보안 정보 원격 배포자로 게시자를 구성할 경우 merge_job_login 및 merge_job_password를 포함하여 모든 속성에 제공된 값이 일반 텍스트로 배포자에 보내집니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 SQL Server 연결 암호화를 참조하십시오.
끌어오기 구독에 대한 병합 에이전트의 보안 설정을 변경하려면
구독자에서 sp_helpmergepullsubscription을 실행하고 @publication을 지정합니다. 이렇게 하면 구독자에서 실행되는 병합 에이전트에 대한 보안 설정을 포함하는 구독 속성이 반환됩니다.
구독 데이터베이스의 구독자에서 sp_change_subscription_properties를 실행하고 @publisher, @publisher_db, @publication을 지정하고 @property에 보안 속성의 이름을, @value에 속성의 새 값을 지정합니다.
변경할 다음 각 보안 속성에 대해 2단계를 반복합니다.
에이전트가 실행되는 Windows 계정을 변경하거나 이 계정에 대한 암호만 변경하려면 @property에 merge_job_password 값을 지정하고 @value에 새 암호를 지정합니다. 계정 자체를 변경하는 경우 2단계를 반복하고 @property에 merge_job_login 값을, @value에 새 Windows 계정을 지정합니다.
배포자에 연결하는 데 사용되는 보안 모드를 변경하려면 @property에 distributor_security_mode 값, @value에 1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.
배포자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 @property에 distributor_password 값을 지정하고 @value에 새 암호를 지정합니다. 2단계를 반복하고 @property에 distributor_login 값을, @value에 새 로그인을 지정합니다.
게시자에 연결하는 데 사용되는 보안 모드를 변경하려면 @property에 publisher_security_mode 값, @value에 1(Windows 통합 인증) 또는 0(SQL Server 인증) 값을 지정합니다.
게시자 보안 모드를 SQL Server 인증으로 변경하거나 SQL Server 인증에 대한 로그인 정보를 변경하는 경우 <legacyBold>@property</legacyBold>에 <legacyBold>publisher_password</legacyBold> 값을 지정하고 <legacyBold>@value</legacyBold>에 새 암호를 지정합니다. 2단계를 반복하고 @property에 publisher_login 값을, @value에 새 로그인을 지정합니다.
[!참고]
에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다.
구독자에 대한 필터링된 스냅숏을 생성하도록 스냅숏 에이전트의 보안 설정을 변경하려면
게시자에서 sp_helpdynamicsnapshot_job을 실행하고 @publication을 지정합니다. 결과 집합에서 변경할 구독자 파티션의 job_name 값을 확인합니다.
게시자에서 sp_changedynamicsnapshot_job을 실행하고 @publication을 지정하고 @dynamic_snapshot_jobname에 1단계에서 얻은 값을, @job_password에 새 암호를, @job_login 및 @job_password에 에이전트가 실행되는 Windows 계정의 로그인과 암호를 지정합니다.
보안 정보 게시자를 원격 배포자로 구성할 경우 job_login 및 job_password를 비롯한 모든 매개 변수에 제공된 값이 일반 텍스트로 배포자에게 보내집니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 SQL Server 연결 암호화를 참조하십시오.
큐 판독기 에이전트의 보안 설정을 변경하려면
배포자에서 sp_helpqreader_agent를 실행합니다. 이렇게 하면 큐 판독기 에이전트가 실행되는 현재 Windows 계정이 반환됩니다.
- 배포자에서 sp_changeqreader_agent를 실행하고 @job_login 및 @job_passwsord에 Windows 계정 설정을 지정합니다.
[!참고]
에이전트 로그인 또는 암호를 변경한 후 에이전트를 중지하고 다시 시작해야 변경 내용이 적용됩니다. 각 배포 데이터베이스에 대해 하나의 큐 판독기 에이전트가 있습니다. 에이전트에 대한 보안 설정을 변경하면 이 배포 데이터베이스를 사용하는 모든 게시자의 모든 게시 설정이 영향을 받습니다.
큐 판독기 에이전트는 구독에 대한 배포 에이전트와 동일한 연결 컨텍스트를 사용하여 구독자에 연결합니다.
게시자에 연결할 때 즉시 업데이트 구독자에서 사용되는 보안 모드를 변경하려면
구독 데이터베이스의 구독자에서 sp_link_publication을 실행합니다. @publisher, @publication, @publisher_db에 대해 게시 데이터베이스의 이름, @security_mode에 대해 다음 값 중 하나를 지정합니다.
0 - 게시자에서 업데이트할 때 SQL Server 인증을 사용합니다. 이 옵션을 사용하려면 @login 및 @password에 대해 게시자에 유효한 로그인을 지정해야 합니다.
1 - 게시자에 연결할 때 구독자에서 변경 작업을 수행하는 사용자의 보안 컨텍스트를 사용합니다. 이 보안 모드에 관한 제한 사항에 대해서는 sp_link_publication을 참조하십시오.
2 - sp_addlinkedserver(Transact-SQL)를 사용하여 만든 기존의 사용자 정의 연결된 서버 로그인을 사용합니다.
원격 배포자에 대한 암호를 변경하려면
배포 데이터베이스의 배포자에서 sp_changedistributor_password를 실행하고 @password에 이 로그인의 새 암호를 지정합니다.
중요 distributor_admin의 암호를 직접 변경하지 마십시오.
이 원격 배포자를 사용하는 모든 게시자에서 sp_changedistributor_password를 실행하고 @password에 1단계의 암호를 지정합니다.