Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server Управляемый экземпляр SQL Azure
В этом разделе описывается, как инициализировать подписку вручную в SQL Server с помощью SQL Server Management Studio или Transact-SQL. Хотя начальный снимок обычно используется для инициализации подписки, подписка на публикацию может быть инициализирована и без использования снимка, при условии что схема и начальные данные уже имеются на подписчике.
Ограничения и запреты
- Если в базе данных, опубликованной с использованием репликации транзакций, между копированием данных и схемы на подписчик и ручной инициализацией подписки выполнялись какие-либо действия, то возникшие в результате этих действий изменения данных могут не реплицироваться на подписчик.
Использование среды SQL Server Management Studio
Ручная инициализация подписки на публикацию производится путем копирования схемы (а также обычно данных) в базу данных подписки. Схема и данные должны соответствовать базе данных публикации. Затем на странице Инициализация подписок мастера создания подписок нужно указать, что для подписки не нужны схема и данные. Дополнительные сведения о доступе к этому мастеру см. в разделах Инициализация подписки на публикацию транзакций без моментального снимка и Создание подписки по запросу.
При первой синхронизации подписки объекты и метаданные, необходимые для репликации, копируются в базу данных подписки.
Инициализация подписки на публикацию вручную
Убедитесь, что схема и данные скопированы в базу данных подписки.
Снимите флажок Инициализировать на странице Инициализация подписок мастера создания подписок. Это действие необходимо выполнить для каждой подписки, требующей копирования только объектов и метаданных репликации.
Использование Transact-SQL
Подписки можно инициализировать вручную с помощью хранимых процедур репликации.
Ручная инициализация подписки по запросу на публикацию транзакций
Убедитесь, что схема и данные существуют в базе данных подписки. Дополнительные сведения см. в статье Инициализация транзакционной подписки без моментального снимка.
На издателе в базе данных публикаций выполните хранимую процедуру sp_addsubscription. Задайте параметры @publication, @subscriber, укажите имя базы данных подписчика, содержащей публикуемые данные, в параметре @destination_db, значение pull в параметре @subscription_type, а также значение replication support only в параметре @sync_type. Дополнительные сведения см. в статье Создание подписки по запросу.
Выполните процедуру sp_addpullsubscriptionна подписчике. Сведения об обновлении подписок см. в разделе Создание обновляемых подписок для публикаций транзакций.
Выполните процедуру sp_addpullsubscription_agentна подписчике. Дополнительные сведения см. в статье Создание подписки по запросу.
Запустите агент распространителя, чтобы передать объекты репликации и загрузить последние изменения с издателя. Дополнительные сведения см. в статье Synchronize a Pull Subscription.
Ручная инициализация принудительной подписки на публикацию транзакций
Убедитесь, что схема и данные существуют в базе данных подписки. Дополнительные сведения см. в статье Инициализация транзакционной подписки без моментального снимка.
На издателе в базе данных публикаций выполните хранимую процедуру sp_addsubscription. Укажите имя базы данных подписчика, содержащей публикуемые данные, в параметре @destination_db, значение push в параметре @subscription_typeи значение replication support only в параметре @sync_type. Сведения об обновлении подписок см. в разделе Создание обновляемых подписок для публикаций транзакций.
На издателе в базе данных публикации выполните хранимую процедуру sp_addpushsubscription_agent. Дополнительные сведения см. в статье Создание принудительной подписки.
Запустите агент распространителя, чтобы передать объекты репликации и загрузить последние изменения с издателя. Дополнительные сведения см. в статье Синхронизация push-подписки.
Ручная инициализация подписки по запросу на публикацию слиянием
Убедитесь, что схема и данные существуют в базе данных подписки. Это можно сделать, восстановив резервную копию базы данных публикаций у подписчика.
Выполните процедуру sp_addmergesubscriptionна издателе. Укажите значения параметров @publication, @subscriber, @subscriber_dbи значение pull в параметре @subscription_type. Это регистрирует подписку на получение данных по запросу.
На подписчике в базе данных, содержащей публикуемые данные, выполните sp_addmergepullsubscription. В параметре @sync_type укажите значение none.
Выполните процедуру sp_addmergepullsubscription_agentна подписчике. Дополнительные сведения см. в статье Создание подписки по запросу.
Запустите агент слияния, чтобы передать объекты репликации и загрузить последние изменения с издателя. Дополнительные сведения см. в статье Synchronize a Pull Subscription.
Ручная инициализация принудительной подписки на публикацию слиянием
Убедитесь, что схема и данные существуют в базе данных подписки. Это можно сделать, восстановив резервную копию базы данных публикации на Подписчике.
На издателе в базе данных публикации выполните процедуру sp_addmergesubscription. Укажите имя базы данных на подписчике, содержащей публикуемые данные, в параметре @subscriber_db, значение push в параметре @subscription_typeи значение none в параметре @sync_type.
На сервере-издателе в базе данных публикации выполните хранимую процедуру sp_addmergepushsubscription_agent. Дополнительные сведения см. в статье Создание принудительной подписки.
Запустите агент слияния, чтобы передать объекты репликации и загрузить последние изменения с издателя. Дополнительные сведения см. в статье Синхронизация push-подписки.