Поделиться через


sp_changelogreader_agent (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

Изменяет свойства безопасности для агента чтения журнала. Эта хранимая процедура выполняется на издателе в базе данных публикации.

Внимание

При настройке издателя с удаленным распространителем значения, предоставленные для всех параметров, включая @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. В Управляемый экземпляр SQL Azure используйте учетную запись SQL Server.

Примечание.

Это невозможно изменить для издателя, отличного от SQL Server.

[ @job_password = ] N'job_password'

Пароль для учетной записи, в которой выполняется агент. @job_password — sysname с значением по умолчаниюNULL.

Внимание

По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.

[ @publisher_security_mode = ] publisher_security_mode

Режим безопасности, используемый агентом при подключении к издателю. @publisher_security_mode имеет небольшой размер с значением по умолчаниюNULL. Следующие значения определяют режим безопасности:

  • 0 указывает проверку подлинности SQL Server.
  • 1указывает проверка подлинности Windows.
  • 2 указывает проверку подлинности паролей Microsoft Entra, начиная с SQL Server 2022 (16.x) CU 6.
  • 3 указывает встроенную проверку подлинности Microsoft Entra, начиная с SQL Server 2022 (16.x) CU 6.
  • 4 указывает проверку подлинности маркера Microsoft Entra, начиная с SQL Server 2022 (16.x) CU 6.

Внимание

По возможности используйте аутентификацию Windows.

[ @publisher_login = ] N'publisher_login'

Имя входа, используемое для соединения с издателем. @publisher_login — sysname с значением по умолчаниюNULL. @publisher_login необходимо указать при @publisher_security_mode0. Если @publisher_login есть NULL и @publisher_security_mode1, то при подключении к издателю используется учетная запись Windows, указанная в @job_login.

[ @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 и пароль.

После изменения имени входа и пароля агента необходимо остановить и повторно запустить агент, чтобы изменения вступили в силу.

Разрешения

Могут выполняться sp_changelogreader_agentтолько члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных.