Агент моментальных снимков репликации
Область применения: SQL Server База данных SQL Azure
Агент моментальных снимков репликации — это исполняемый файл, который подготавливает файлы моментальных снимков, содержащие схему, данные опубликованных таблиц и объекты базы данных. Агент сохраняет их в папке моментальных снимков и регистрирует задания синхронизации в базе данных распространителя.
Примечание.
- Параметры можно указывать в любом порядке.
Примечание.
Управляемый экземпляр SQL Azure может быть издателем, распространителем и подписчиком для репликации моментальных снимков и транзакций. Базы данных в службе "База данных SQL Azure" могут быть только принудительными подписчиками для репликации моментальных снимков и транзакций. Дополнительные сведения см. в статье о репликации транзакций с Базой данных SQL Azure и Управляемым экземпляром SQL Azure.
Синтаксис
snapshot [ -?]
-Publisher server_name[\instance_name]
-Publication publication_name
[-70Subscribers]
[-BcpBatchSize bcp_batch_size]
[-DefinitionFile def_path_and_file_name]
[-Distributor server_name[\instance_name]]
[-DistributorDeadlockPriority [-1|0|1] ]
[-DistributorLogin distributor_login]
[-DistributorPassword distributor_password]
[-DistributorSecurityMode [0|1] ]
[-DynamicFilterHostName dynamic_filter_host_name]
[-DynamicFilterLogin dynamic_filter_login]
[-DynamicSnapshotLocation dynamic_snapshot_location]
[-EncryptionLevel [0|1|2]]
[-FieldDelimiter field_delimiter]
[-HistoryVerboseLevel [0|1|2|3] ]
[-HRBcpBlocks number_of_blocks ]
[-HRBcpBlockSize block_size ]
[-HRBcpDynamicBlocks ]
[-KeepAliveMessageInterval keep_alive_interval]
[-LoginTimeOut login_time_out_seconds]
[-MaxBcpThreads number_of_threads ]
[-MaxNetworkOptimization [0|1]]
[-Output output_path_and_file_name]
[-OutputVerboseLevel [0|1|2] ]
[-PacketSize packet_size]
[-PrefetchTables [0|1] ]
[-ProfileName profile_name]
[-PublisherDB publisher_database]
[-PublisherDeadlockPriority [-1|0|1] ]
[-PublisherFailoverPartner server_name[\instance_name] ]
[-PublisherLogin publisher_login]
[-PublisherPassword publisher_password]
[-PublisherSecurityMode [0|1] ]
[-QueryTimeOut query_time_out_seconds]
[-ReplicationType [1|2] ]
[-RowDelimiter row_delimiter]
[-StartQueueTimeout start_queue_timeout_seconds]
[-UsePerArticleContentsView use_per_article_contents_view]
Аргументы
-?
Выводит список всех доступных параметров.
-Publisher server_name[\instance_name]
Имя издателя. Укажите server_name для экземпляра Microsoft SQL Server по умолчанию на этом сервере. Укажите server_name instance_name\ для именованного экземпляра SQL Server на этом сервере.
-Publication публикация
Имя публикации. Этот параметр допустим только в том случае, если в данной публикации моментальный снимок всегда доступен для новых или повторно инициализированных подписок.
-70Subscribers
Необходимо использовать, если какие-либо подписчики работают под управлением SQL Server версии 7.0.
-BcpBatchSize bcp_ batch_ size
Число строк для отправки при операции массового копирования. При выполнении операции bcp in размер пакета равен числу строк для отправки на сервер в одной транзакции, а также числу строк, которые необходимо отправить до того, как агент распространителя зарегистрирует сообщение о ходе выполнения от программы bcp . При выполнении операции bcp out используются пакеты фиксированного размера (1000). Значение 0 указывает на отсутствие регистрации сообщений.
-DefinitionFile путь_и_имя_файла_определения
Путь к файлу определения агента. Файл определения агента содержит параметры командной строки для данного агента. Содержимое файла анализируется как для исполняемого файла. Для указания значений параметров, содержащих произвольные символы, используются двойные кавычки (").
-Distributor имя_сервера[\имя_экземпляра]
Имя распространителя. Укажите server_name для экземпляра SQL Server по умолчанию на этом сервере. Укажите server_name instance_name\ для именованного экземпляра SQL Server на этом сервере.
-DistributorDeadlockPriority [-1|0|1]
Приоритет соединения агента моментальных снимков с распространителем при возникновении взаимоблокировки. Этот параметр указывается для разрешения взаимоблокировок, которые могут возникать между агентом моментальных снимков и пользовательскими приложениями при создании моментальных снимков.
DistributorDeadlockPriority | Description |
---|---|
-1 | При возникновении взаимоблокировки на распространителе агент моментальных снимков имеет меньший приоритет, чем другие приложения. |
0 (по умолчанию) | Приоритет не назначается. |
1 | При возникновении взаимоблокировки на распространителе агент моментальных снимков имеет больший приоритет. |
-DistributorLogin имя_входа_распространителя
Имя входа, используемое при подключении к распространителю с помощью проверки подлинности SQL Server.
-DistributorPassword пароль_распространителя
Пароль, используемый при подключении к распространителю с помощью проверки подлинности SQL Server. .
-DistributorSecurityMode [ 0| 1]
Указывает режим безопасности распространителя. Значение 0 указывает режим проверки подлинности SQL Server (по умолчанию), а значение 1 указывает режим проверки подлинности Windows.
-DynamicFilterHostName имя_узла_динамического_фильтра
Используется для задания значения для HOST_NAME (Transact-SQL) при создании динамического моментального снимка. Так, если для какой-либо статьи указано предложение фильтра подмножества rep_id = HOST_NAME()
и перед вызовом агента слияния свойство DynamicFilterHostName устанавливается в значение «FBJones», в столбце rep_id будет производиться репликация только тех строк, которые содержат значение «FBJones».
-DynamicFilterLogin имя_входа_динамического_фильтра
Используется для задания значения для SUSER_SNAME (Transact-SQL) при фильтрации при создании динамического моментального снимка. Так, если для какой-либо статьи указано предложение фильтра подмножества user_id = SUSER_SNAME()
и перед вызовом метода Run объекта SQLSnapshot установить свойство DynamicFilterLogin в значение «rsmith», в моментальный снимок будут включены только те строки, в которых столбец user_id содержит значение «rsmith».
-DynamicSnapshotLocation расположение_динамического_моментального_снимка
Папка, в которой должен быть создан динамический моментальный снимок.
-EncryptionLevel [ 0 | 1 | 2 ]
Уровень шифрования по протоколу TLS (ранее — SSL), который используется агентом моментальных снимков при установлении соединений.
Значение EncryptionLevel | Description |
---|---|
0 | Указывает, что TLS не используется. |
1 | Указывает, что TLS используется, но агент не проверяет, подписан ли сертификат сервера TLS/SSL надежным издателем. |
2 | Указывает, что TLS используется и сертификат подтвержден. |
Примечание.
Допустимый TLS/SSL-сертификат задается с полным доменным именем SQL Server. Если параметр -EncryptionLevel имеет значение 2, то для подключения агента создайте псевдоним на локальном сервере SQL Server. Для параметра Alias Name (Имя псевдонима) должно быть указано имя сервера, а для параметра Server (Сервер) — полное доменное имя SQL Server.
Дополнительные сведения см. в статье Просмотр и изменение параметров безопасности репликации.
-FieldDelimiter разделитель_полей
Представляет собой последовательность символов или символов, которая помечает конец поля в файле данных массового копирования SQL Server. Значение по умолчанию — \n<x$3>\n.
-HistoryVerboseLevel [ 1| 2| 3]
Указывает объем данных, регистрируемых в журнале при выполнении моментального снимка. Выбрав значение 1, можно свести к минимуму влияние ведения журнала на производительность.
Значение HistoryVerboseLevel | Description |
---|---|
0 | Сообщения о ходе работы записываются либо в консоль, либо в выходной файл. Записи журнала не регистрируются в базе данных распространителя. |
1 | Всегда обновлять предыдущее сообщение журнала с таким же состоянием (запуск, выполнение, успех и т. д.). Если предыдущих сообщений с таким состоянием нет, то вставить новую запись. |
2 (по умолчанию) | Если есть сообщения о таких событиях, как состояние простоя или долго выполняемое задание, то обновить предыдущие записи, в противном случае вставить новые записи журнала. |
3 | Если сообщения не о состоянии простоя, то всегда вставлять новые записи. |
-HRBcpBlocks число_блоков
Число блоков данных bcp , составляющих очередь между потоками модуля записи и модуля чтения. Значение по умолчанию — 50. ПараметрHRBcpBlocks используется только с публикациями Oracle.
Примечание.
Этот параметр используется для настройки производительности операции bcp из издателя Oracle.
-HRBcpBlockSizeblock_size
Размер каждого блока данных программы bcp (в килобайтах). Значение по умолчанию — 64 КБ. ПараметрHRBcpBlocks используется только с публикациями Oracle.
Примечание.
Этот параметр используется для настройки производительности операции bcp из издателя Oracle.
-HRBcpDynamicBlocks
Указывает, возможно ли динамическое увеличение размера блоков данных bcp . ПараметрHRBcpBlocks используется только с публикациями Oracle.
Примечание.
Этот параметр используется для настройки производительности операции bcp из издателя Oracle.
-KeepAliveMessageInterval интервал_keep_alive
Период ожидания в секундах, после которого агент моментальных снимков регистрирует в таблице MSsnapshot_history запись об ожидании сообщения от сервера. Значение по умолчанию — 300 секунд.
-LoginTimeOut время_ожидания_входа_в_секундах
Количество секунд до истечения времени ожидания входа. Значение по умолчанию — 15 секунд.
-MaxBcpThreads число_потоков
Указывает число операций массового копирования, которые можно проводить параллельно. Максимальное число потоков и соединений ODBC, которые существуют одновременно, равно меньшему из MaxBcpThreads и числа запросов на массовое копирование, которые появляются в транзакции синхронизации в базе данных распространителя. ЗначениеMaxBcpThreads должно быть больше 0 и не имеет жестко запрограммированного максимума. По умолчанию оно вдвое превышает число процессоров.
Примечание.
Если в реплицированном объекте есть фильтр, то вместо создания нескольких BCP-файлов агент моментальных снимков создаст только один BCP-файл для этой статьи.
- MaxNetworkOptimization [ 0| 1]
Указывает, направляются ли подписчику операции удаления, которые не имеют к нему отношения. Это направляемые подписчикам инструкции DELETE, которые относятся к строкам, не входящим в секцию соответствующего подписчика. Такие команды не влияют на целостность и конвергенцию данных, однако они могут вызвать нежелательный сетевой трафик. По умолчанию параметр MaxNetworkOptimization имеет значение 0. Если задать параметру MaxNetworkOptimization значение 1 , то вероятность не относящихся к нему удалений будет сведена к минимуму, что позволит сократить объем сетевого трафика и оптимизировать работу сети. Однако при установке этого параметра в значение 1 может возрасти объем хранимых метаданных и снизиться производительность на издателе, если используется несколько уровней фильтров соединений и сложных фильтров подмножеств. Устанавливать значение параметра MaxNetworkOptimization в значение 1 следует после тщательного рассмотрения топологии репликации и только в тех случаях, когда объем трафика, инициируемого неправильными командами удаления, является неприемлемым.
Примечание.
Параметр 1 полезен, только если параметр оптимизации синхронизации публикации слияния имеет значение true (@keep_partition_changes**
параметр sp_addmergepublication (Transact-SQL)).
-Output путь_и_имя_выходного_файла
Путь к выходному файлу агента. Если имя файла не указано, данные выводятся на консоль. Если указанный файл существует, то выходные данные добавляются в конец файла.
-OutputVerboseLevel [ 0| 1| 2]
Указывает, должны ли выводимые данные быть подробными.
Значение OutputVerboseLevel | Description |
---|---|
0 | Выводятся только сообщения об ошибках. |
1 (по умолчанию) | Выводятся все сообщения отчета о состоянии (значение по умолчанию). |
2 | Выводятся все сообщения об ошибках, а также сообщения отчета о состоянии, что может оказаться при отладке. |
-PacketSize размер_пакета
Размер пакета (в байтах), используемый агент моментальных снимков при подключении к SQL Server. Значение по умолчанию — 8192 байт.
Примечание.
Не изменяйте размер пакета, если нет уверенности в том, что это повысит производительность. Для большинства приложений оптимальным является размер пакета, установленный по умолчанию.
-PrefetchTables [ 0| 1]
Необязательный параметр, который указывает, нужно ли выполнять упреждающую выборку и кэширование объектов таблицы. По умолчанию упреждающая выборка выполняется для некоторых свойств таблицы с помощью компонента SMO на основе внутренних вычислений. Этот параметр будет полезен в сценариях, где для операции предварительной выборки SMO требуется много времени. Если этот параметр не используется, решение принимается во время выполнения. При этом учитывается процент таблиц, которые добавляются в публикацию в качестве статей.
Значение OutputVerboseLevel | Description |
---|---|
0 | Вызовы к методу Prefetch компонента SMO запрещены. |
1 | Агент моментальных снимков может вызывать метод Prefetch, чтобы кэшировать некоторые свойства таблицы с помощью объектов SMO. |
-ProfileName имя_профиля
Указывает профиль агента, из которого берутся параметры агента. Если ProfileName имеет значение NULL, профиль агента отключен. Если значение ProfileName не указано, используется профиль по умолчанию для агентов этого типа. Дополнительные сведения см. в статье Профили агента репликации.
-PublisherDB база_данных_издателя
Имя базы данных публикации. Этот параметр не поддерживается для издателей Oracle.
-PublisherDeadlockPriority [-1|0|1]
Приоритет соединения агента моментальных снимков с издателем при возникновении взаимоблокировки. Этот параметр указывается для разрешения взаимоблокировок, которые могут возникать между агентом моментальных снимков и пользовательскими приложениями при создании моментальных снимков.
Значение PublisherDeadlockPriority | Description |
---|---|
-1 | При возникновении взаимоблокировки на издателе агент моментальных снимков имеет меньший приоритет, чем другие приложения. |
0 (по умолчанию) | Приоритет не назначается. |
1 | При возникновении взаимоблокировки на издателе агент моментальных снимков имеет больший приоритет. |
-PublisherFailoverPartner имя_сервера[\имя_экземпляра]
Указывает экземпляр партнера по отработке отказа SQL Server, участвующий в сеансе зеркального отображения базы данных с базой данных публикации. Дополнительные сведения см. в статье Зеркальное отображение и репликация баз данных (SQL Server).
-PublisherLogin имя_входа_на_издателе
Используется ли имя входа при подключении к издателю с помощью проверки подлинности SQL Server.
-PublisherPassword пароль_на_издателе
Пароль, используемый при подключении к издателю с помощью проверки подлинности SQL Server. .
-PublisherSecurityMode [ 0| 1]
Указывает режим безопасности издателя. Значение 0 указывает на проверку подлинности SQL Server (по умолчанию), а значение 1 указывает режим проверки подлинности Windows.
-QueryTimeOut время_ожидания_запроса_в_секундах
Количество секунд до истечения времени ожидания запроса. Значение по умолчанию — 1800 секунд.
-ReplicationType [ 1| 2]
Указывает тип репликации. Значение 1 указывает на репликацию транзакций, а значение 2 — на репликацию слиянием.
-RowDelimiter разделитель_строк
Представляет собой последовательность символов или символов, которая помечает конец строки в файле данных массового копирования SQL Server. Значение по умолчанию — \n<,@g>\n.
-StartQueueTimeout время_ожидания_начала_очереди
Максимальное количество секунд, которое агент моментальных снимков ожидает, когда число параллельных процессов динамического моментального снимка выполняется в пределе, заданном @max_concurrent_dynamic_snapshots
свойством sp_addmergepublication (Transact-SQL). Если по истечении этого времени агент моментальных снимков все еще находится в процессе ожидания, то его работа будет завершена. Значение 0 означает, что агент ждет неопределенно долгое время, хотя его выполнение может быть отменено.
- UsePerArticleContentsView use_per_article_contents_view
Этот параметр устарел и поддерживается только для обеспечения обратной совместимости.
Замечания
Внимание
Если вы установили агент SQL Server для запуска под учетной записью локальной системы, а не под учетной записью пользователя домена (по умолчанию), служба может получить доступ только к локальному компьютеру. Если агент моментальных снимков, запущенные в агент SQL Server, настроены для использования режима проверки подлинности Windows при входе в SQL Server, агент моментальных снимков завершается ошибкой. По умолчанию используется проверка подлинности SQL Server.
Чтобы запустить агент моментальных снимков, из командной строки выполните файл snapshot.exe . Дополнительные сведения см. в разделе Исполняемые объекты агента репликации.