sp_resyncmergesubscription (Transact-SQL)
Область применения: SQL Server
Повторно синхронизирует подписку на публикацию слиянием с указанным пользователем известным состоянием проверки. Вы можете принудительно установить конвергенцию или синхронизировать базу данных подписки с определенной точкой во времени, например последний раз успешной проверки или с указанной датой. Моментальный снимок не применяется повторно при повторной синхронизации подписки с помощью этого метода. Эта хранимая процедура не используется для подписок репликации моментальных снимков или подписок репликации транзакций. Эта хранимая процедура выполняется на издателе в базе данных публикации либо на подписчике в базе данных подписки.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_resyncmergesubscription
[ [ @publisher = ] N'publisher' ]
[ , [ @publisher_db = ] N'publisher_db' ]
, [ @publication = ] N'publication'
[ , [ @subscriber = ] N'subscriber' ]
[ , [ @subscriber_db = ] N'subscriber_db' ]
, [ @resync_type = ] resync_type
[ , [ @resync_date_str = ] N'resync_date_str' ]
[ ; ]
Аргументы
[ @publisher = ] N'publisher'
Имя издателя. @publisher — sysname с значением по умолчаниюNULL
. Значение допустимо, NULL
если хранимая процедура выполняется на издателе. Если хранимая процедура выполняется на подписчике, то надо указать издатель.
[ @publisher_db = ] N'publisher_db'
Имя базы данных публикации. @publisher_db имеет имя sysname с значением по умолчаниюNULL
. Значение допустимо, NULL
если хранимая процедура выполняется на издателе в базе данных публикации. Если хранимая процедура выполняется на подписчике, то надо указать издатель.
[ @publication = ] N'publication'
Имя публикации. @publication — sysname без значения по умолчанию.
[ @subscriber = ] N'подписчик'
Имя подписчика. @subscriber — sysname с значением по умолчаниюNULL
. Допустимое значение NULL
, если хранимая процедура выполняется на подписчике. Если хранимая процедура выполняется на издателе, то надо указать подписчик.
[ @subscriber_db = ] N'subscriber_db'
Имя базы данных подписки. @subscriber_db — sysname с значением по умолчаниюNULL
. Значение допустимо, NULL
если хранимая процедура выполняется на подписчике в базе данных подписки. Если хранимая процедура выполняется на издателе, то надо указать подписчик.
[ @resync_type = ] resync_type
Определяет, когда должна начинаться повторная синхронизация. @resync_type имеет значение int и может быть одним из следующих значений.
значение | Описание |
---|---|
0 |
Синхронизация начинается с момента формирования исходного моментального снимка. Этот параметр является наиболее ресурсоемким, так как все изменения после первоначального моментального снимка повторно применяются к подписчику. |
1 |
Синхронизация начинается с момента проведения последней успешной проверки. Все новые или неоконченные поколения, созданные со времени проведения последней успешной проверки, заново применяются к подписчику. |
2 |
Синхронизация начинается с даты, указанной в resync_date_str. Все новые или незаконченные поколения, созданные после этой даты, заново применяются к подписчику. |
[ @resync_date_str = ] N'resync_date_str'
Указывает дату, когда должна начаться повторная синхронизация. @resync_date_str — nvarchar(30) с значением по умолчаниюNULL
. Этот параметр используется, если @resync_type является значением 2
. Указанная дата преобразуется в эквивалентное значение datetime .
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_resyncmergesubscription
используется в репликации слиянием.
Значение 0
параметра @resync_type , которое применяет все изменения после первоначального моментального снимка, может быть ресурсоемким, но, возможно, гораздо меньше полной повторной инициализации. Например, если исходный моментальный снимок был отправлен месяц назад, это значение приведет к повторному применению данных прошедшего месяца. Если начальный моментальный снимок содержал 1 гигабайт (ГБ) данных, но количество изменений в прошлом месяце составило 2 мегабайта (МБ) измененных данных, было бы эффективнее повторно применять данные, чем повторно применять полный моментальный снимок в 1 ГБ.
Разрешения
Могут выполняться sp_resyncmergesubscription
только члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных.