Агент чтения журнала репликации

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

ПримечаниеПримечание

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

Синтаксис

logread [-?] 
-Publisher server_name[\instance_name] 
-PublisherDB publisher_database 
[-Continuous]
[-DefinitionFile def_path_and_file_name]
[-Distributor server_name[\instance_name]]
[-DistributorLogin distributor_login]
[-DistributorPassword distributor_password]
[-DistributorSecurityMode [0|1]]
[-EncryptionLevel [0|1|2]]
[-HistoryVerboseLevel [0|1|2]]
[-KeepAliveMessageInterval keep_alive_message_interval_seconds]
[-LoginTimeOut login_time_out_seconds]
[-LogScanThreshold scan_threshold]
[-MaxCmdsInTran number_of_commands]
[-MessageInterval message_interval]
[-Output output_path_and_file_name]
[-OutputVerboseLevel [0|1|2|3|4]]
[-PacketSize packet_size]
[-PollingInterval polling_interval]
[-ProfileName profile_name] 
[-PublisherFailoverPartner server_name[\instance_name] ]
[-PublisherSecurityMode [0|1]]
[-PublisherLogin publisher_login]
[-PublisherPassword publisher_password] 
[-QueryTimeOut query_time_out_seconds]
[-ReadBatchSize number_of_transactions] 
[-ReadBatchThreshold read_batch_threshold]
[-RecoverFromDataErrors]

Аргументы

  • -?
    Отображает сведения об использовании.

  • -Publisherserver_name[**\instance_name]
    Имя издателя. Укажите server_name, чтобы использовать экземпляр сервера Microsoft SQL Server по умолчанию. Укажите server_name
    \**instance_name, чтобы обратиться к именованному экземпляру SQL Server на этом сервере.

  • -PublisherDBpublisher_database
    Имя базы данных издателя.

  • -Continuous
    Указывает, производит ли агент непрерывный опрос транзакций для репликации. Если да, то он с заданным интервалом производит запрос из источника транзакций, даже если транзакции отсутствуют.

  • -DefinitionFileпуть_и_имя_файла_определения
    Путь к файлу определения агента. Файл определения агента содержит параметры командной строки для агента. Содержимое файла анализируется как для исполняемого файла. Значения аргумента, содержащие произвольные символы, следует заключать в двойные кавычки (").

  • -Distributorserver_name[**\instance_name]
    Имя распространителя. Укажите server_name, чтобы использовать экземпляр сервера SQL Server по умолчанию. Укажите server_name
    \**instance_name, чтобы обратиться к именованному экземпляру SQL Server на этом сервере.

  • -DistributorLogindistributor_login
    Имя входа распространителя.

  • -DistributorPassworddistributor_password
    Пароль распространителя.

  • -DistributorSecurityMode [ 0| 1]
    Указывает режим безопасности распространителя. Значение 1 означает проверку подлинности Microsoft Windows, а значение 0 — проверку подлинности SQL Server (значение по умолчанию).

  • -EncryptionLevel [ 0 | 1 | 2 ]
    Уровень шифрования по протоколу SSL, который используется агентом чтения журнала при установлении соединений.

    Значение EncryptionLevel

    Описание

    0

    Указывает, что SSL не используется.

    1

    Указывает, что SSL используется, но агент не проверяет, подписан ли сертификат сервера SSL надежным издателем.

    2

    Указывает, что SSL используется и сертификат подтвержден.

    Дополнительные сведения см. в разделе Обзор безопасности (репликация).

  • -HistoryVerboseLevel [ 0| 1| 2]
    Указывает объем данных, заносимых в журнал во время операции чтения журнала. Влияние на производительность, оказываемое ведением журнала, можно максимально уменьшить, выбрав значение 1.

    Значение HistoryVerboseLevel

    Описание

    0

    1

    По умолчанию. Всегда обновлять предыдущее сообщение журнала с таким же состоянием (запуск, выполнение, успех и т. д.). Если предыдущих сообщений с таким состоянием нет, то вставить новую запись.

    2

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

  • -KeepAliveMessageIntervalkeep_alive_message_interval_seconds
    Количество секунд до того, как поток журнала проверяет наличие соединений, ожидающих ответа от сервера. Это значение можно уменьшить, чтобы агент проверки не помечал агент чтения журнала как подозрительный при выполнении долго выполняющегося пакета. Значение по умолчанию составляет 300 секунд.

  • -LoginTimeOutlogin_time_out_seconds
    Время ожидания входа в секундах. Значение по умолчанию составляет 15 секунд.

  • -LogScanThresholdscan_threshold
    Только для внутреннего применения.

  • -MaxCmdsInTrannumber_of_commands
    Задает максимальное количество инструкций, группируемых в транзакцию, когда агент чтения журнала записывает команды в базу данных распространителя. Использование этого параметра позволяет агенту чтения журнала и агенту распространителя разделять большие транзакции (состоящие из множества команд) на издателе на несколько меньших транзакций при применении команд на подписчике. Задание этого параметра может снизить вероятность конфликтов на распространителе и уменьшить задержку при передаче данных между издателем и подписчиком. Поскольку исходная транзакция применяется меньшими по размеру блоками, подписчик может получить доступ к строкам большой логической транзакции издателя до завершения исходной транзакции, разбивая строгую атомарность транзакции. По умолчанию установлено значение 0, сохраняющее границы транзакции издателя.

    ПримечаниеПримечание

    Данный параметр не учитывается для публикаций, отличных от SQL Server. Дополнительные сведения см. в подразделе «Настройка задания наборов транзакций» раздела Настройка производительности для издателей Oracle.

  • -MessageIntervalmessage_interval
    Интервал времени, использующийся для ведения журнала. Событие регистрируется в журнале, когда после регистрации последнего события достигнуто значение MessageInterval.

    При отсутствии реплицируемой транзакции на источнике агент передает распространителю сообщение об отсутствии транзакции. Данный параметр определяет период ожидания агента до передачи следующего сообщения об отсутствии транзакции. Агенты всегда передают сообщение об отсутствии транзакции, если на источнике после ранее обработанных реплицируемых транзакций не обнаруживается доступных транзакций. Значение по умолчанию составляет 60 секунд.

  • -Outputoutput_path_and_file_name
    Путь к выходному файлу агента. Если имя файла не указано, данные выводятся на консоль. Если указанный файл существует, то выходные данные добавляются в конец файла.

  • -OutputVerboseLevel [ 0| 1| 2 | 3 | 4 ]
    Указывает, должны ли выводимые данные быть подробными.

    Максимальное значение

    Описание

    0

    Выводятся только сообщения об ошибках.

    1

    Выводятся все сообщения о ходе выполнения агента.

    2 (по умолчанию)

    Выводятся все сообщения об ошибках и о ходе выполнения агента.

    3

    Выводятся первые 100 байт для каждой реплицируемой команды.

    4

    Выводятся все реплицируемые команды.

    Значения 2-4 могут оказаться полезными при отладке.

  • -PacketSizepacket_size
    Размер пакета в байтах. Значение по умолчанию равно 4 096 байт.

  • -PollingIntervalpolling_interval
    Определяет частоту (в секундах) опроса журнала о реплицируемых транзакциях. Значение по умолчанию составляет 5 секунд.

  • -ProfileNameprofile_name
    Указывает профиль агента, из которого берутся параметры агента. Если ProfileName имеет значение NULL, профиль агента отключен. Если значение ProfileName не указано, используется профиль по умолчанию для агентов этого типа. Дополнительные сведения см. в разделе Профили агента репликации.

  • -PublisherFailoverPartnerserver_name[**\**instance_name]
    Указывает экземпляр отказоустойчивого участника служб SQL Server, участвующий в сеансе зеркального отображения базы данных с базой данных публикации. Дополнительные сведения см. в разделе Репликация и зеркальное отображение базы данных.

  • -PublisherSecurityMode [ 0| 1]
    Указывает режим безопасности издателя. Значение 0 означает проверку подлинности SQL Server (по умолчанию), а значение 1 — проверку подлинности Windows.

  • -PublisherLoginpublisher_login
    Имя входа издателя.

  • -PublisherPasswordpublisher_password
    Пароль издателя.

  • -QueryTimeOutquery_time_out_seconds
    Время ожидания запроса в секундах. Значение по умолчанию составляет 1800 секунд.

  • -ReadBatchSizenumber_of_transactions
    Определяет максимальное число транзакций, которые считываются из журнала транзакций публикуемой базы данных за один цикл обработки (значение по умолчанию — 500). Агент будет продолжать считывать транзакции пакетами, пока все они не будут считаны из журнала. Этот параметр не поддерживается для издателей Oracle.

  • -ReadBatchThresholdnumber_of_commands
    Определяет число команд репликации, которые считываются из журнала транзакций перед отправкой подписчику агентом распространителя. Значение по умолчанию — 0. Если этот параметр не указан, то агент чтения журнала произведет считывание до конца журнала или до числа транзакций, указанного в параметре -ReadBatchSize.

  • -RecoverFromDataErrors
    Указывает, что агент чтения журнала должен продолжить работу после возникновения ошибок данных в столбце, опубликованном издателем, отличным от SQL Server. По умолчанию такие ошибки приводят к завершению работы агента чтения журнала. Если указан параметр -RecoverFromDataErrors, то производится репликация ошибочных данных либо значениями NULL, либо другими соответствующими значениями, а предупреждающие сообщения записываются в таблицу MSlogreader_history. Этот параметр поддерживается только для издателей Oracle.

Замечания

Важное примечаниеВажно!

Если агент SQL Server настроен для запуска от учетной записи локальной системы, а не пользователя домена (по умолчанию), то служба имеет доступ только к локальному компьютеру. Если агент чтения журнала, запускаемый агентом SQL Server, настроен для входа в SQL Server с проверкой подлинности Windows, то работа агента слияния завершится ошибкой. Значением по умолчанию является проверка подлинности SQL Server. Дополнительные сведения об изменении учетных записей безопасности см. в разделе Как просмотреть и изменить параметры безопасности репликации (программирование репликации на языке Transact-SQL).

Чтобы запустить агент чтения журнала, выполните из командной строки программу logread.exe. Дополнительные сведения см. в разделе Основные понятия об исполняемых объектах агента репликации.

См. также

Основные понятия