sp_changelogreader_agent (Transact-SQL)

更改日志读取器代理的安全属性。 此存储过程在发布服务器上对发布数据库执行。

安全说明安全说明

使用远程分发服务器配置发布服务器时,为所有参数提供的值(包括 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'
    运行代理所用的 Windows 帐户的登录名。job_login 的数据类型为 nvarchar(257),默认值为 NULL。 对于非 Microsoft SQL Server 发布服务器来说,这是无法更改的。

  • [ @job_password= ] 'job_password'
    运行代理所用的 Microsoft Windows 帐户的密码。job_password 的数据类型为 sysname,默认值为 NULL。

    安全说明安全说明

    如果可能,请在运行时提示用户输入安全凭据。 如果必须在脚本文件中存储凭据,则必须保护文件以防止未经授权的访问。

  • [ @publisher_security_mode= ] publisher_security_mode
    是连接到发布服务器时代理所使用的安全模式。publisher_security_mode 的数据类型为 smallint,其默认值为 NULL。 0 指定 SQL Server 身份验证,1 指定 Windows 身份验证。

    安全说明安全说明

    请尽可能使用 Windows 身份验证。

  • [ @publisher_login= ] 'publisher_login'
    连接到发布服务器时所使用的登录名。publisher_login 的数据类型为 sysname,默认值为 NULL。如果 publisher_security_mode0,则必须指定 publisher_login。 如果 publisher_login 为 NULL,并且 publisher_security_mode1,则连接到发布服务器时将使用 job_login 中指定的 Windows 帐户。

  • [ @publisher_password= ] 'publisher_password'
    连接到发布服务器时所用的密码。publisher_password 的数据类型为 sysname,默认值为 NULL。

    安全说明安全说明

    请不要使用空密码。 建议使用强密码。 如果可能,请在运行时提示用户输入安全凭据。 如果必须在脚本文件中存储凭据,则必须保护文件以防止未经授权的访问。

  • [ @publisher= ] 'publisher'
    发布服务器的名称。publisher 的数据类型为 sysname,默认值为 NULL。 仅非 SQL Server 发布服务器支持此参数。

返回代码值

0(成功)或 1(失败)

注释

sp_changelogreader_agent 用于事务复制。

sp_changelogreader_agent 用于更改运行日志读取器代理所用的 Windows 帐户。 可以更改现有 Windows 登录名的密码,或提供新的 Windows 登录名和密码。

更改代理登录名或密码之后,必须先停止并重新启动代理,然后更改才能生效。

权限

只有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员才能执行 sp_changelogreader_agent