sp_addmergepushsubscription_agent (Transact-SQL)
Изменения: 12 декабря 2006 г.
Вводит новое задание агента для подготовки расписания синхронизации принудительной подписки для публикации слиянием. Эта хранимая процедура выполняется на издателе в базе данных публикации.
Примечание безопасности. |
---|
При настройке издателя с удаленным распространителем значения всех аргументов, в том числе 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 необходим, если задано значение 0 для аргумента subscriber_security_mode. Аргумент 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 для агента. Дополнительные сведения см. в разделе Replication Merge Agent.
[ @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.
Разрешения
Только члены фиксированной серверной роли sysadmin или фиксированной роли базы данных db_owner могут выполнять процедуру sp_addmergepushsubscription_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 [AdventureWorks]
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
См. также
Справочник
sp_addmergesubscription (Transact-SQL)
sp_changemergesubscription (Transact-SQL)
sp_dropmergesubscription (Transact-SQL)
sp_helpmergesubscription (Transact-SQL)
Другие ресурсы
Как создавать принудительные подписки (программирование репликации на языке Transact-SQL)
Подписка на публикации
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
12 декабря 2006 г. |
|