sp_changelogreader_agent (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

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

重要

當利用遠端散發者來設定發行者時,提供給所有參數的值 (包括 job_loginjob_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 受控執行個體 上,使用 SQL Server 帳戶。 非 Microsoft SQL Server 發行者無法變更此專案

[ @job_password = ] 'job_password' 這是代理程序執行所在的帳戶密碼。 job_password為 sysname,預設值為 NULL。

重要

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

[ @publisher_security_mode = ] publisher_security_mode

注意

Microsoft Entra 標識符 先前稱為 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 登入和密碼。

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

權限

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

另請參閱

檢視及修改複寫安全性設定
sp_helplogreader_agent (Transact-SQL)
sp_addlogreader_agent (Transact-SQL)