分享方式:


sp_changelogreader_agent (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

變更記錄讀取器代理程式的安全性屬性。 這個預存程式會在發行集資料庫的發行者端執行。

重要

使用遠端散發者設定發行者時,提供給所有參數的值,包括 @job_login@job_password,都會以純文本形式傳送給散發者。 您應該先加密「發行者」及其遠端「散發者」之間的連接,再執行這個預存程序。 如需詳細資訊,請參閱針對加密連線設定 SQL Server 資料庫引擎

語法

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

引數

[ @job_login = ] N'job_login'

代理程序執行所在的帳戶登入。 @job_login為 nvarchar(257),預設值為 NULL。 在 Azure SQL 受控執行個體 上,使用 SQL Server 帳戶。

注意

無法變更非 SQL Server 發行者的這項功能。

[ @job_password = ] N'job_password'

代理程序執行所在的帳戶密碼。 @job_password為 sysname 預設值為 NULL

重要

可能的話,會在執行階段提示使用者輸入安全性認證。 如果您必須將認證儲存在指令碼檔案中,則必須維護這個檔案的安全性,使他人無法在未獲授權的情況下擅自存取。

[ @publisher_security_mode = ] publisher_security_mode

連接到發行者時代理程式所使用的安全性模式。 @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 = ] N'publisher_login'

連接到發行者時所使用的登入。 @publisher_login為 sysname,預設值為 NULL當 @publisher_security_mode 為 0,必須指定@publisher_login。 如果 @publisher_login 為 NULL@publisher_security_mode1,則連接到發行者時會使用 @job_login 中指定的 Windows 帳戶。

[ @publisher_password = ] N'publisher_password'

連接到發行者時所使用的密碼。 @publisher_password為 sysname,預設值為 NULL

重要

請勿使用空白密碼。 請使用強式密碼。 可能的話,會在執行階段提示使用者輸入安全性認證。 如果您必須將認證儲存在指令碼檔案中,則必須維護這個檔案的安全性,使他人無法在未獲授權的情況下擅自存取。

[ @publisher = ] N'publisher'

發行者的名稱。 @publisher為 sysname,預設值為 NULL。 此參數僅支援非 SQL Server 發行者。

傳回碼值

0 (成功) 或 1 (失敗)。

備註

sp_changelogreader_agent 用於事務複製。

sp_changelogreader_agent 用來變更記錄讀取器代理程序執行所在的 Windows 帳戶。 您可以變更現有 Windows 登入的密碼,或提供新的 Windows 登入和密碼。

變更代理程式的登入或密碼之後,您必須先停止並重新啟動代理程式,變更才會生效。

權限

只有系統管理員固定伺服器角色或db_owner固定資料庫角色的成員才能執行 sp_changelogreader_agent