sp_changelogreader_agent (Transact-SQL)

適用対象: SQL ServerAzure SQL Managed Instance

ログ リーダー エージェントのセキュリティ プロパティを変更します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。

重要

リモート ディストリビューターを使用するパブリッシャーを構成する場合は、 job_login および job_passwordを含むすべてのパラメーターに指定された値がディストリビューターにプレーン テキストとして送信されます。 このストアド プロシージャを実行する前に、パブリッシャーとリモート ディストリビューターの間の接続を暗号化する必要があります。 詳細については、「データベース エンジンへの暗号化接続の有効化 (SQL Server 構成マネージャー)」を参照してください。

構文

  
sp_changelogreader_agent [ [ @job_login = ] 'job_login' ]  
    [ , [ @job_password = ] 'job_password' ]  
    [ , [ @publisher_security_mode = ] publisher_security_mode ]  
    [ , [ @publisher_login = ] 'publisher_login' ]  
    [ , [ @publisher_password = ] 'publisher_password' ]   
    [ , [ @publisher = ] 'publisher' ]  

引数

[ @job_login = ] 'job_login' エージェントを実行するアカウントのログインを指定します。 job_loginは nvarchar(257) で、既定値は NULL です。 Azure SQL Managed Instance では、SQL Server アカウントを使用します。 これは、Microsoft SQL Server 以外の発行元では変更できません。

[ @job_password = ] 'job_password' エージェントを実行するアカウントのパスワードです。 job_passwordは sysname で、既定値は NULL です。

重要

可能であれば、実行時、ユーザーに対してセキュリティ資格情報の入力を要求します。 スクリプト ファイルに資格情報を格納する必要がある場合は、不正アクセスを防ぐために、ファイルを保護します。

[ @publisher_security_mode = ] publisher_security_mode

Note

Microsoft Entra ID は、以前は Azure Active Directory (Azure AD) と呼ばれていました。

パブリッシャーに接続するときにエージェントによって使用されるセキュリティ モードです。 publisher_security_modeは smallint で、既定値は NULL です。 次の値は、セキュリティ モードを定義します。

  • 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 トークン認証を指定します。

重要

可能な場合は、Windows 認証を使用します。

[ @publisher_login = ] 'publisher_login' パブリッシャーに接続するときに使用されるログインです。 publisher_loginは sysname で、既定値は NULL です。 publisher_security_modeが 0 の場合は、publisher_loginを指定する必要があります。 publisher_loginが NULL で、publisher_security_mode1 の場合、job_login指定された Windows アカウントがパブリッシャーに接続するときに使用されます。

[ @publisher_password = ] 'publisher_password' パブリッシャーに接続するときに使用されるパスワードです。 publisher_passwordは sysname で、既定値は NULL です。

重要

空白のパスワードは使用しないでください。 強力なパスワードを使用してください。 可能であれば、実行時、ユーザーに対してセキュリティ資格情報の入力を要求します。 スクリプト ファイルに資格情報を格納する必要がある場合は、不正アクセスを防ぐために、ファイルを保護します。

[ @publisher = ] 'publisher' パブリッシャーの名前を指定します。 publishersysname で、既定値は NULL です。 このパラメーターは、SQL Server 以外のパブリッシャーでのみサポートされます。

リターン コードの値

0 (成功) または 1 (失敗)

解説

sp_changelogreader_agentはトランザクション レプリケーションで使用されます。

sp_changelogreader_agentは、ログ リーダー エージェントを実行する Windows アカウントを変更するために使用されます。 既存の Windows ログインのパスワードを変更することも、新しい Windows ログインとパスワードを指定することもできます。

エージェントのログインまたはパスワードを変更した後、変更を有効にするには、エージェントを停止して再起動する必要があります。

アクセス許可

sysadmin 固定サーバー ロールまたは固定データベース ロールdb_ownerメンバーのみが、sp_changelogreader_agentを実行できます。

参照

レプリケーションのセキュリティ設定の表示および変更
sp_helplogreader_agent (Transact-SQL)
sp_addlogreader_agent (Transact-SQL)