Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: 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-подписки.