sp_addlogreader_agent (Transact-SQL)
データベースにログ リーダー エージェントを追加します。 このストアド プロシージャは、パブリッシャー側でパブリケーション データベースについて実行されます。
セキュリティに関する注意 |
---|
リモート ディストリビューターを使用するパブリッシャーを構成する場合は、job_login および job_password を含むすべてのパラメーターに指定された値がディストリビューターにプレーン テキストとして送信されます。 このストアド プロシージャを実行する前に、パブリッシャーとリモート ディストリビューターの間の接続を暗号化する必要があります。 詳細については、「データベース エンジンへの暗号化接続の有効化 (SQL Server 構成マネージャー)」を参照してください。 |
構文
sp_addlogreader_agent [ @job_login = ] 'job_login'
, [ @job_password = ] 'job_password'
[ , [ @job_name = ] 'job_name' ]
[ , [ @publisher_security_mode = ] publisher_security_mode ]
[ , [ @publisher_login = ] 'publisher_login' ]
[ , [ @publisher_password = ] 'publisher_password' ]
[ , [ @publisher = ] 'publisher' ]
引数
[ @job_login= ] 'job_login'
エージェントを実行する Microsoft Windows アカウント用のログインを指定します。job_login のデータ型は nvarchar(257) で、既定値は NULL です。 この Windows アカウントはディストリビューターへのエージェント接続で常に使用されます。注 Microsoft SQL Server 以外のパブリッシャーの場合、このログインは sp_adddistpublisher (Transact-SQL) で指定したものと同じであることが必要です。
[ @job_password= ] 'job_password'
エージェントを実行する Windows アカウント用のパスワードを指定します。 job_password のデータ型は sysname で、既定値は NULL です。セキュリティに関する注意 スクリプト ファイルに認証情報を格納しないでください。 最大限のセキュリティを得るには、ログイン名とパスワードを実行時に指定してください。
[ @job_name= ] 'job_name'
既存のエージェント ジョブの名前を指定します。 job_name のデータ型は sysname で、既定値は NULL です。 このパラメーターは、新しく作成したジョブ (既定値) の代わりに既存のジョブを使ってエージェントを起動するときにだけ指定します。[ @publisher_security_mode= ] publisher_security_mode
パブリッシャーへの接続時にエージェントが使用するセキュリティ モードを指定します。 publisher_security_mode のデータ型は smallint で、既定値は 1 です。 0 は SQL Server 認証を表し、1 は Windows 認証を表します。 SQL Server 以外のパブリッシャーに対しては、値 0 を指定する必要があります。[ @publisher_login= ] 'publisher_login'
パブリッシャーへの接続時に使用するログインを指定します。 publisher_login のデータ型は sysname で、既定値は NULL です。 publisher_security_mode が 0 の場合は、publisher_login を指定する必要があります。 publisher_login が NULL で publisher_security_mode が 1 の場合、パブリッシャーへの接続時には job_login で指定した Windows アカウントが使用されます。[ @publisher_password= ] 'publisher_password'
パブリッシャーへの接続時に使用するパスワードを指定します。 publisher_password のデータ型は sysname で、既定値は NULL です。セキュリティに関する注意 スクリプト ファイルに認証情報を格納しないでください。 最大限のセキュリティを得るには、ログイン名とパスワードを実行時に指定してください。
[ @publisher= ] 'publisher'
SQL Server 以外のパブリッシャーの名前を指定します。publisher のデータ型は sysname で、既定値は NULL です。注 SQL Server パブリッシャーの場合はこのパラメーターを指定しないでください。
リターン コード値
0 (成功) または 1 (失敗)
説明
sp_addlogreader_agent は、トランザクション レプリケーションで使用します。
データベースでこのバージョンの SQL Server へのレプリケーションが有効になっており、このデータベースを使用するパブリケーションを作成する前にデータベースをアップグレードした場合は、sp_addlogreader_agent を実行してログ リーダー エージェントを追加する必要があります。
権限
sp_addlogreader_agent を実行できるのは、sysadmin 固定サーバー ロールまたは db_owner 固定データベース ロールのメンバーだけです。
使用例
-- 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
関連項目
参照
sp_addpublication (Transact-SQL)
sp_changelogreader_agent (Transact-SQL)
レプリケーション ストアド プロシージャ (Transact-SQL)