Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вводит новое задание агента для подготовки расписания синхронизации принудительной подписки для публикации слиянием. Эта хранимая процедура выполняется на издателе в базе данных публикации.
Примечание по безопасности |
|---|
Если издатель настраивается с удаленным распространителем, то значения, передаваемые для всех аргументов, включая job_login и job_password, передаются распространителю в формате обычного (незашифрованного) текста.Прежде чем выполнять эту хранимую процедуру, необходимо зашифровать соединение между издателем и его удаленным распространителем.Дополнительные сведения см. в разделе Включение шифрования соединений в ядре СУБД (диспетчер конфигурации SQL Server). |
Синтаксические обозначения в Transact-SQL
Синтаксис
sp_addmergepushsubscription_agent [ @publication =] 'publication'
[ , [ @subscriber = ] 'subscriber' ]
[ , [ @subscriber_db = ] 'subscriber_db' ]
[ , [ @subscriber_security_mode = ] subscriber_security_mode ]
[ , [ @subscriber_login = ] 'subscriber_login' ]
[ , [ @subscriber_password = ] 'subscriber_password' ]
[ , [ @publisher_security_mode = ] publisher_security_mode ]
[ , [ @publisher_login = ] 'publisher_login' ]
[ , [ @publisher_password = ] 'publisher_password' ]
[ , [ @job_login = ] 'job_login' ]
[ , [ @job_password = ] 'job_password' ]
[ , [ @job_name = ] 'job_name' ]
[ , [ @frequency_type = ] frequency_type ]
[ , [ @frequency_interval = ] frequency_interval ]
[ , [ @frequency_relative_interval = ] frequency_relative_interval ]
[ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]
[ , [ @frequency_subday = ] frequency_subday ]
[ , [ @frequency_subday_interval = ] frequency_subday_interval ]
[ , [ @active_start_time_of_day = ] active_start_time_of_day ]
[ , [ @active_end_time_of_day = ] active_end_time_of_day ]
[ , [ @active_start_date = ] active_start_date ]
[ , [ @active_end_date = ] active_end_date ]
[ , [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' ]
Аргументы
[@publication =] 'publication'
Имя публикации. Аргумент publication имеет тип sysname и не имеет значения по умолчанию.[ @subscriber = ] 'subscriber'
Имя подписчика. Аргумент subscriber имеет тип sysname и значение по умолчанию NULL.[ @subscriber_db = ] 'subscriber_db'
Имя базы данных подписки. Аргумент subscriber_db имеет тип sysname и значение по умолчанию NULL.[ @subscriber_security_mode = ] subscriber_security_mode
Режим безопасности, используемый для подключения к подписчику при синхронизации. Аргумент subscriber_security_mode имеет тип int и значение по умолчанию 1. Значение 0 указывает проверку подлинности SQL Server. Значение 1 указывает, что используется проверка подлинности Windows.[ @subscriber_login = ] 'subscriber_login'
Имя входа подписчика, используемое для подключения к нему при синхронизации. Аргумент subscriber_login является обязательным, если значение subscriber_security_mode равно 0. Аргумент subscriber_login имеет тип sysname и значение по умолчанию NULL.[ @subscriber_password = ] 'subscriber_password'
Пароль подписчика для проверки подлинности SQL Server. Аргумент subscriber_password требуется, если subscriber_security_mode имеет значение 0. Аргумент subscriber_password имеет тип sysname и значение по умолчанию NULL. Если используется пароль подписчика, он автоматически шифруется.
Примечание по безопасностиПо возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения.В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.
[ @publisher_security_mode = ] publisher_security_mode
Режим безопасности, используемый для подключения к издателю при синхронизации. Аргумент publisher_security_mode имеет тип int и значение по умолчанию 1. Значение 0 указывает проверку подлинности SQL Server. Значение 1 указывает, что используется проверка подлинности Windows.[ @publisher_login = ] 'publisher_login'
Имя входа, используемое для подключения к издателю при синхронизации. Аргумент publisher_login имеет тип sysname и значение по умолчанию NULL.[ @publisher_password = ] 'publisher_password'
Пароль, используемый при соединении с издателем. Аргумент publisher_password имеет тип sysname и значение по умолчанию NULL.
Примечание по безопасностиПо возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения.В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.
[ @job_login = ] 'job_login'
Имя входа для учетной записи Windows, под которой запускается агент. Аргумент job_login имеет тип nvarchar(257) и значение по умолчанию NULL. Эта учетная запись Windows всегда используется для соединений агента с распространителем и соединений с подписчиком и издателем при использовании встроенной проверки подлинности Windows.[ @job_password = ] 'job_password'
Пароль для учетной записи Windows, под которой запускается агент. Аргумент job_password имеет тип sysname и не имеет значения по умолчанию.
Примечание по безопасностиПо возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения.В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.
[ @job_name = ] 'job_name'
Имя существующего задания агента. Аргумент job_name имеет тип sysname и значение по умолчанию NULL. Этот аргумент указывается, только если подписка будет синхронизироваться с использованием существующего задания, а не вновь созданного (выбор по умолчанию). Лицам, не имеющим членства в предопределенной роли сервера sysadmin, необходимо указать аргументы job_login и job_password при вводе job_name.[ @frequency_type = ] frequency_type
Частота планируемого запуска агента слияния. Аргумент frequency_type имеет тип int и может принимать одно из следующих значений.Значение
Описание
1
Однократно
2
По запросу
4
Ежедневно
8
Еженедельно
16
Ежемесячно
32
Ежемесячно с относительной датой
64
Автозапуск
128
Повторяющееся задание
NULL (по умолчанию)
Примечание
При значении 64 агент слияния запускается в непрерывном режиме.Это соответствует вводу параметра -Continuous для агента.Дополнительные сведения см. в разделе Агент слияния репликации.
[ @frequency_interval = ] frequency_interval
Даты запуска агента слияния. Аргумент frequency_interval имеет тип int и может принимать одно из следующих значений.Значение
Описание
1
Воскресенье
2
Понедельник
3
Вторник
4
Среда
5
Четверг
6
Пятница
7
Суббота
8
День
9
По рабочим дням
10
По выходным дням
NULL (по умолчанию)
[ @frequency_relative_interval = ] frequency_relative_interval
Дата агента слияния. Этот аргумент используется, когда параметр frequency_type имеет значение 32 (ежемесячно с относительной датой). Аргумент frequency_relative_interval имеет тип int и может принимать одно из следующих значений.Значение
Описание
1
Первый
2
Второй
4
Третий
8
Четвертый
16
Последний
NULL (по умолчанию)
[ @frequency_recurrence_factor = ] frequency_recurrence_factor
Коэффициент повторения, используемый аргументом frequency_type. Аргумент frequency_recurrence_factor имеет тип int и значение по умолчанию NULL.[ @frequency_subday = ] frequency_subday
Частота повторного планирования в течение определенного периода. Аргумент frequency_subday имеет тип int и может принимать одно из следующих значений.Значение
Описание
1
Однократно
2
Секунда
4
Минута
8
Час
NULL (по умолчанию)
[ @frequency_subday_interval = ] frequency_subday_interval
Интервал для аргумента frequency_subday. Аргумент frequency_subday_interval имеет тип int и значение по умолчанию NULL.[ @active_start_time_of_day = ] active_start_time_of_day
Время суток, на которое запланирован первый запуск агента слияния, в формате ЧЧММСС. Аргумент active_start_time_of_day имеет тип int и значение по умолчанию NULL.[ @active_end_time_of_day = ] active_end_time_of_day
Время плановой остановки агента слияния в формате ЧЧММСС. Аргумент active_end_time_of_day имеет тип int и значение по умолчанию NULL.[ @active_start_date = ] active_start_date
Дата первого планового запуска агента слияния в формате ГГГГММДД. Аргумент active_start_date имеет тип int и значение по умолчанию NULL.[ @active_end_date = ] active_end_date
Дата плановой остановки агента слияния в формате ГГГГММДД. Аргумент active_end_date имеет тип int и значение по умолчанию NULL.[ @enabled_for_syncmgr = ] 'enabled_for_syncmgr'
Указывает, может ли подписка быть синхронизирована с помощью диспетчера синхронизации Windows. Аргумент enabled_for_syncmgr имеет тип nvarchar(5) и значение по умолчанию FALSE. При значении false подписка диспетчером синхронизации не регистрируется. При значении true подписка регистрируется диспетчером синхронизации и может быть синхронизирована без запуска среды Среда SQL Server Management Studio.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
Хранимая процедура sp_addmergepushsubscription_agent используется в репликации слиянием и располагает функциональностью, аналогичной функциональности процедуры sp_addpushsubscription_agent.
Пример
-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables
-- on the command line and in SQL Server Management Studio, see the
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorksReplica';
SET @hostname = N'adventure-works\david8'
-- Add a push subscription to a merge publication.
USE [AdventureWorks2012];
EXEC sp_addmergesubscription
@publication = @publication,
@subscriber = @subscriber,
@subscriber_db = @subscriptionDB,
@subscription_type = N'push',
@hostname = @hostname;
--Add an agent job to synchronize the push subscription.
EXEC sp_addmergepushsubscription_agent
@publication = @publication,
@subscriber = @subscriber,
@subscriber_db = @subscriptionDB,
@job_login = $(Login),
@job_password = $(Password);
GO
Разрешения
Только члены предопределенной роли сервера sysadmin или предопределенной роли базы данных db_owner могут выполнять процедуру sp_addmergepushsubscription_agent.
См. также
Справочник
sp_addmergesubscription (Transact-SQL)
sp_changemergesubscription (Transact-SQL)
sp_dropmergesubscription (Transact-SQL)
sp_helpmergesubscription (Transact-SQL)