sp_addlogreader_agent(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
지정된 데이터베이스에 대한 로그 판독기 에이전트를 추가합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.
Important
원격 배포자를 사용하여 게시자를 구성할 때 @job_login 및 @job_password 비롯한 모든 매개 변수에 제공된 값은 일반 텍스트로 배포자로 전송됩니다. 이 저장 프로시저를 실행하기 전에 게시자와 해당 원격 배포자 간 연결을 암호화해야 합니다. 자세한 내용은 연결 암호화에 대한 SQL Server 데이터베이스 엔진 구성을 참조하세요.
구문
sp_addlogreader_agent
[ [ @job_login = ] N'job_login' ]
[ , [ @job_password = ] N'job_password' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @publisher_security_mode = ] publisher_security_mode ]
[ , [ @publisher_login = ] N'publisher_login' ]
[ , [ @publisher_password = ] N'publisher_password' ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
인수
[ @job_login = ] N'job_login'
에이전트가 실행되는 Windows 계정에 대한 로그인입니다. @job_login 기본값NULL
인 nvarchar(257)입니다. 이 Windows 계정은 항상 배포자에 대한 에이전트 연결에 사용됩니다. Azure SQL Managed Instance에서 SQL Server 계정을 사용합니다.
참고 항목
SQL Server가 아닌 게시자의 경우 sp_adddistpublisher 지정된 것과 동일한 로그인이어야 합니다.
[ @job_password = ] N'job_password'
에이전트가 실행되는 Windows 계정의 암호입니다. @job_password sysname이며 기본값은 .입니다NULL
.
Important
스크립트 파일에 인증 정보를 저장하지 마세요. 최상의 보안을 위해 런타임에 로그인 이름 및 암호를 제공해야 합니다.
[ @job_name = ] N'job_name'
기존 에이전트 작업의 이름입니다. @job_name sysname이며 기본값은 .입니다NULL
. 이 매개 변수는 에이전트가 새로 만든 작업(기본값) 대신 기존 작업을 사용하기 시작할 때만 지정됩니다.
[ @publisher_security_mode = ] publisher_security_mode
참고 항목
Microsoft Entra ID는 이전에 Azure Active Directory(Azure AD)로 알려졌습니다.
게시자에 연결할 때 에이전트에서 사용하는 보안 모드입니다. @publisher_security_mode 기본값1
인 smallint입니다. SQL Server가 아닌 게시자에 대해 값을 0
지정해야 합니다. 다음 값은 보안 모드를 정의합니다.
0
는 SQL Server 인증을 지정합니다.1
는 Windows 인증 지정합니다.2
는 SQL Server 2022(16.x) CU 6부터 Microsoft Entra 암호 인증을 지정합니다.3
는 SQL Server 2022(16.x) CU 6부터 Microsoft Entra 통합 인증을 지정합니다.4
는 SQL Server 2022(16.x) CU 6부터 Microsoft Entra 토큰 인증을 지정합니다.
[ @publisher_login = ] N'publisher_login'
게시자에 연결할 때 사용되는 로그인입니다. @publisher_login sysname이며 기본값은 .입니다NULL
. @publisher_security_mode 경우 @publisher_login 0
지정해야 합니다. @publisher_login NULL
@publisher_security_mode 1
경우 게시자에 연결할 때 @job_login 지정된 Windows 계정이 사용됩니다.
[ @publisher_password = ] N'publisher_password'
게시자에 연결할 때 사용되는 암호입니다. @publisher_password sysname이며 기본값은 .입니다NULL
.
Important
스크립트 파일에 인증 정보를 저장하지 마세요. 최상의 보안을 위해 런타임에 로그인 이름 및 암호를 제공해야 합니다.
[ @publisher = ] N'publisher'
SQL Server 이외 게시자의 이름입니다. @publisher sysname이며 기본값은 .입니다NULL
.
참고 항목
SQL Server 게시자에 대해 이 매개 변수를 지정해서는 안 됩니다.
반환 코드 값
0
(성공) 또는 1
(실패).
설명
sp_addlogreader_agent
는 트랜잭션 복제에 사용됩니다.
데이터베이스를 사용하는 게시를 만들기 전에 이 버전의 SQL Server로 복제할 수 있는 데이터베이스를 업그레이드한 경우 로그 판독기 에이전트를 추가하려면 실행 sp_addlogreader_agent
해야 합니다.
사용 권한
sysadmin 고정 서버 역할 또는 db_owner 고정 데이터베이스 역할의 멤버만 실행할 sp_addlogreader_agent
수 있습니다.
예제
-- To avoid storing the login and password in the script file, the values
-- are passed into SQLCMD as scripting variables. For information about
-- how to use scripting variables on the command line and in SQL Server
-- Management Studio, see the "Executing Replication Scripts" section in
-- the topic "Programming Replication Using System Stored Procedures".
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks';
SET @publication = N'AdvWorksProductTran';
-- Windows account used to run the Log Reader and Snapshot Agents.
SET @login = $(Login);
-- This should be passed at runtime.
SET @password = $(Password);
-- Enable transactional or snapshot replication on the publication database.
EXEC sp_replicationdboption
@dbname=@publicationDB,
@optname=N'publish',
@value = N'true';
-- Execute sp_addlogreader_agent to create the agent job.
EXEC sp_addlogreader_agent
@job_login = @login,
@job_password = @password,
-- Explicitly specify the use of Windows Integrated Authentication (default)
-- when connecting to the Publisher.
@publisher_security_mode = 1;
-- Create a new transactional publication with the required properties.
EXEC sp_addpublication
@publication = @publication,
@status = N'active',
@allow_push = N'true',
@allow_pull = N'true',
@independent_agent = N'true';
-- Create a new snapshot job for the publication, using a default schedule.
EXEC sp_addpublication_snapshot
@publication = @publication,
@job_login = @login,
@job_password = @password,
-- Explicitly specify the use of Windows Integrated Authentication (default)
-- when connecting to the Publisher.
@publisher_security_mode = 1;
GO