Агент распространения репликации

Агент распространения репликации перемещает моментальный снимок (для репликации моментальных снимков или транзакций) и транзакции, находящиеся в таблицах базы данных распространителя (для репликации транзакций), в целевые таблицы на подписчиках.

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

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

Синтаксис

distrib [-?]
-Publisher server_name[\instance_name]
-PublisherDB publisher_database
-Subscriber server_name[\instance_name]
-SubscriberDB subscriber_database 
[-AltSnapshotFolder alt_snapshot_folder_path] 
[-BcpBatchSize bcp_batch_size]
[-CommitBatchSize commit_batch_size]
[-CommitBatchThreshold commit_batch_threshold]
[-Continuous]
[-DefinitionFile def_path_and_file_name]
[-Distributor distributor]
[-DistributorLogin distributor_login]
[-DistributorPassword distributor_password]
[-DistributorSecurityMode [0|1]]
[-EncryptionLevel [0|1|2]]
[-ErrorFile error_path_and_file_name]
[-FileTransferType [0|1]]
[-FtpAddress ftp_address]
[-FtpPassword ftp_password] 
[-FtpPort ftp_port]
[-FtpUserName ftp_user_name]
[-HistoryVerboseLevel [0|1|2|3]]
[-Hostname host_name]
[-KeepAliveMessageInterval keep_alive_message_interval_seconds]
[-LoginTimeOut login_time_out_seconds]
[-MaxBcpThreads]
[-MaxDeliveredTransactions number_of_transactions]
[-MessageInterval message_interval]
[-OledbStreamThreshold oledb_stream_threshold]
[-Output output_path_and_file_name]
[-OutputVerboseLevel [0|1|2]]
[-PacketSize packet_size]
[-PollingInterval polling_interval]
[-ProfileName profile_name]
[-Publication publication]
[-QueryTimeOut query_time_out_seconds]
[-QuotedIdentifier quoted_identifier]
[-SkipErrors native_error_id [:...n]]
[-SubscriberDatabasePath subscriber_path]
[-SubscriberLogin subscriber_login]
[-SubscriberPassword subscriber_password]
[-SubscriberSecurityMode [0|1]]
[-SubscriberType [0|1|3]]
[-SubscriptionStreams [1|2|...64]]
[-SubscriptionTableName subscription_table]
[-SubscriptionType [0|1|2]]
[-TransactionsPerHistory [0|1|...10000]]
[-UseDTS]
[-UseInprocLoader]
[-UseOledbStreaming]

Аргументы

  • -?
    Выводит список всех доступных параметров.

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

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

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

  • -SubscriberDBsubscriber_database
    Имя базы данных подписчика.

  • -AltSnapshotFolderalt_snapshot_folder_path
    Путь к папке, где хранится исходный моментальный снимок для подписки.

  • -BcpBatchSizebcp_batch_size
    Число строк для отправки при операции массового копирования. При выполнении операции bcp in размер пакета равен числу строк для отправки на сервер в одной транзакции, а также числу строк, которые необходимо отправить до того, как агент распространителя зарегистрирует сообщение о ходе выполнения от программы bcp. При выполнении операции bcp out используется фиксированный размер пакета (1000).

  • -CommitBatchSizecommit_batch_size
    Число транзакций, отправляемых подписчику перед выполнением инструкции COMMIT. Значение по умолчанию равно 100.

  • -CommitBatchThreshold commit_batch_threshold
    Число команд репликации, отправляемых подписчику перед выполнением инструкции COMMIT. Значение по умолчанию равно 1000.

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

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

  • -Distributordistributor
    Имя распространителя. Для принудительного распространения по умолчанию используется имя локального распространителя.

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

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

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

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

    Значение EncryptionLevel

    Описание

    0

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

    1

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

    2

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

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

  • -ErrorFileerror_path_and_file_name
    Путь и имя файла ошибок, создаваемого агентом распространителя. Этот файл создается в любой момент, когда происходит ошибка при применении транзакций репликации на подписчике; ошибки, возникающие на издателе или распространителе, в этом файле не регистрируются. Этот файл содержит транзакции репликации, завершившиеся ошибкой, и соответствующие сообщения об ошибках. Если параметр не указан, файл ошибок создается в текущем каталоге агента распространителя. Его именем будет имя агента распространителя с расширением ERR. Если файл с указанным именем уже существует, то сообщения об ошибках будут добавляться в существующий файл. Длина параметра не должна превышать 256 символов в Юникоде.

  • -FileTransferType [0|1]
    Определяет тип передачи файла. 0 означает UNC (формат соглашения об универсальных именах), а 1 означает FTP (протокол передачи файлов).

  • -FtpAddressftp_address
    Сетевой адрес службы FTP распространителя. Если он не указан, то используется параметр DistributorAddress. Если не указан параметр DistributorAddress, то используется параметр Distributor.

  • -FtpPasswordftp_password
    Пароль пользователя, используемый для подключения к службе FTP.

  • -FtpPortftp_port
    Номер порта службы FTP распространителя. Если не указан, используется порт службы FTP по умолчанию (21).

  • -FtpUserName ftp_user_name
    Имя пользователя для соединения со службой FTP. Если не указано, то будет использовано имя anonymous.

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

    Значение HistoryVerboseLevel

    Описание

    0

    Сообщения о ходе работы записываются либо в консоль, либо в выходной файл. Записи журнала не регистрируются в базе данных распространителя.

    1

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

    2

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

    3

    Если сообщения не о состоянии простоя, то всегда вставлять новые записи.

  • -Hostnamehost_name
    Имя узла, используемое при соединении с издателем. Длина параметра не должна превышать 128 символов в Юникоде.

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

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

  • -MaxBcpThreadsnumber_of_threads
    Указывает число операций массового копирования, которые можно проводить параллельно. Максимальное число потоков и соединений ODBC, которые существуют одновременно, равно меньшему из MaxBcpThreads и числа запросов на массовое копирование, которые появляются в транзакции синхронизации в базе данных распространителя. Значение MaxBcpThreads должно быть больше 0 и не имеет жестко зафиксированного максимума. Значение по умолчанию равно числу процессоров, умноженному на 2. Максимальное значение равно 8. Применение моментального снимка, созданного на издателе в режиме одновременного моментального снимка, производится в один поток, независимо от значения, указанного в параметре MaxBcpThreads.

  • -MaxDeliveredTransactionsnumber_of_transactions
    Определяет максимальное число транзакций по запросу и принудительных транзакций, применяемых к подписчикам за одну синхронизацию. Значение 0 говорит о том, что максимальное число транзакций неограниченно. Другие значения могут использоваться подписчиками для сокращения длительности процесса синхронизации, запущенного с издателя.

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

    • Достигнуто значение параметра TransactionsPerHistory с момента последней записи в журнал.

    • Достигнуто значение параметра MessageInterval с момента последней записи в журнал.

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

  • -OledbStreamThresholdoledb_stream_threshold
    Указывает минимальный размер (в байтах) двоичных данных больших объектов, ниже которого их привязка будет выполняться в виде потока. Для использования этого параметра должен быть указан параметр -UseOledbStreaming. Значение может находиться в диапазоне от 400 до 1048576, значение по умолчанию — 16384.

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

  • -OutputVerboseLevel[ 0| 1| 2]
    Указывает, должны ли выводимые данные быть подробными. Если уровень подробностей равен 0, выводятся только сообщения об ошибках. Если уровень подробностей равен 1, выводятся все сообщения отчета о состоянии. Если уровень подробностей равен 2 (по умолчанию), выводятся и сообщения об ошибках, и сообщения отчета о состоянии, что удобно для отладки.

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

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

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

  • -Publication publication
    Имя публикации. Этот параметр допустим только в том случае, если в данной публикации моментальный снимок всегда доступен для новых или повторно инициализированных подписок.

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

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

  • -SkipErrorsnative_error_id[:...n]
    Список с разделителями-двоеточиями, перечисляющий коды ошибок, которые этот агент должен пропускать. Дополнительные сведения см. в разделе Пропуск ошибок в репликации транзакций.

  • -SubscriberDatabasePathsubscriber_database_path
    Путь к базе данных Jet (MDB-файл) при значении SubscriberType равном 2 (позволяет соединиться с базой данных Jet без указания имени источника данных ODBC (DSN)).

  • -SubscriberLoginsubscriber_login
    Имя входа подписчика. Данный параметр должен быть указан, если значение SubscriberSecurityMode равно 0 (при проверке подлинности SQL Server Authentication).

  • -SubscriberPasswordsubscriber_password
    Пароль подписчика. Данный параметр должен быть указан, если значение SubscriberSecurityMode равно 0 (при проверке подлинности SQL Server Authentication).

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

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

    Значение SubscriberType

    Описание

    0

    SQL Server

    1

    Источник данных ODBC

    3

    Источник данных OLE DB

  • -SubscriptionStreams [0|1|2|...64]
    Число соединений на каждого агента распространителя для параллельного применения пакетов изменений на подписчике при сохранении многих характеристик транзакций, имеющихся для однопоточного выполнения. Для издателя SQL Server поддерживается диапазон значений от 1 до 64. Этот параметр поддерживается только тогда, когда издатель и распространитель выполняются на SQL Server 2005 и более поздних версиях. Этот параметр не поддерживается или должен быть равен 0 для подписчиков, отличных от SQL Server, издателей Oracle и одноранговых подписок.

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

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

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

    При указании в параметре -SubscriptionStreams значения 2 и более порядок получения транзакций в подписчике может отличаться от порядка, в котором они были выполнены в издателе. Если это приводит к нарушениям ограничений при синхронизации, то следует параметром NOT FOR REPLICATION отключить принудительное выполнение ограничений во время синхронизации. Дополнительные сведения см. в разделе Как управлять поведением триггеров и ограничений во время синхронизации (программирование репликации на языке Transact-SQL).

  • -SubscriptionTableNamesubscription_table
    Имя таблицы подписки, созданной или используемой в заданном подписчике. Если не указано, то используется таблица MSreplication_subscriptions (Transact-SQL). Этот параметр следует использовать СУБД, не поддерживающих длинные имена файлов.

  • -SubscriptionType[ 0| 1| 2]
    Определяет тип подписки для распространения. Значение 0 указывает на подписку по запросу, значение 1 — на принудительную подписку, а значение 2 — на анонимную подписку.

  • -TransactionsPerHistory[ 0| 1|... 10000]
    Указывает интервал транзакций для регистрации журналов. Сообщение записывается в журнал, как только число зафиксированных транзакций после последней записи в журнал превысило значение этого параметра. Значение по умолчанию равно 100. Значение 0 указывает на бесконечное число транзакций в TransactionsPerHistory. См. описание предыдущего параметра -MessageInterval.

  • -UseDTS
    Должен быть указан в качестве параметра для публикации, для которой разрешено преобразование данных.

  • -UseInprocLoader
    Повышает производительность исходного моментального снимка, заставляя агент распространителя использовать команду BULK INSERT при применении файлов моментальных снимков к подписчику. Это устаревший параметр, несовместимый с типом данных XML. Этот параметр может использоваться, если не выполняется репликация XML-данных. Этот параметр нельзя использовать с моментальными снимками в символьном формате или для подписчиков, отличных от SQL Server. При использовании этого параметра учетная запись службы SQL Server на подписчике должна иметь разрешение на чтение каталога, в котором находятся BCP-файлы моментальных снимков. Если этот параметр не указан, то агент (для подписчиков, отличных от SQL Server) или драйвер ODBC, загружаемый агентом (для подписчиков SQL Server), считывает его из файлов, поэтому контекст безопасности учетной записи службы SQL Server не используется.

  • -UseOledbStreaming
    Если этот параметр указан, то разрешает привязку двоичных данных больших объектов в виде потока. Задать размер (в байтах), выше которого будет использоваться поток, можно параметром -OledbStreamThreshold.

Замечания

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

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

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

См. также

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