Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Хотя подписка на транзакционную публикацию обычно инициализируется с помощью моментального снимка, она может быть инициализирована из резервной копии с использованием хранимых процедур для репликации. Дополнительные сведения см. в разделе "Инициализация транзакционной подписки без моментального снимка".
Инициализация подписчика транзакций из резервной копии
Для существующей публикации убедитесь, что публикация поддерживает возможность инициализации из резервной копии путем выполнения sp_helppublication (Transact-SQL) на издателе в базе данных публикации. Обратите внимание на значение allow_initialize_from_backup в результирующем наборе.
Если значение равно 1, публикация поддерживает эту функцию.
Если значение равно 0, выполните sp_changepublication (Transact-SQL) на издателе в базе данных публикации. Укажите значение allow_initialize_from_backup для @property и значение
trueдля @value.
Для новой публикации выполните sp_addpublication (Transact-SQL) на издателе в базе данных публикации. Укажите значение
trueдля allow_initialize_from_backup. Дополнительные сведения см. в разделе Create a Publication.Предупреждение
Чтобы избежать потери данных подписчика при использовании sp_addpublication с
@allow_initialize_from_backup = N'true', всегда используйте@immediate_sync = N'true'.Создайте резервную копию базы данных публикации с помощью инструкции BACKUP (Transact-SQL) .
Восстановите резервную копию на подписчике с помощью инструкции RESTORE (Transact-SQL) .
На сервере публикации в базе данных публикации выполните хранимую процедуру sp_addsubscription (Transact-SQL). Укажите следующие параметры:
@sync_type — это значение для инициализации с резервной копией.
@backupdevicetype — тип устройства резервного копирования: логический (по умолчанию), диск или лента.
@backupdevicename — логическое или физическое устройство резервного копирования, используемое для восстановления.
Для логического устройства укажите имя устройства резервного копирования, указанного при использовании sp_addumpdevice для создания устройства.
Для физического устройства укажите полный путь и имя файла, например
DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\BACKUP\Mybackup.dat'илиTAPE = '\\.\TAPE0'.(Необязательно) @password — пароль, предоставленный при создании резервного набора данных.
(Необязательно) @mediapassword — пароль, предоставленный при форматировании набора носителей.
(Необязательно) @fileidhint — идентификатор для восстанавливаемого набора резервных копий. Например, при указании 1 указывается первый резервный набор на носителе резервного копирования, а 2 — второй резервный набор.
(Необязательно для ленточных устройств) @unload — укажите значение 1 (по умолчанию), если лента должна быть выгружена с диска после завершения восстановления и 0 , если она не должна быть выгружена.
(Необязательно) Для подписки на вытягивание выполните sp_addpullsubscription (Transact-SQL) и sp_addpullsubscription_agent (Transact-SQL) на подписчике в базе данных подписки. Дополнительные сведения см. в статье Создание подписки по запросу.
(Необязательно) Запустите агент распространителя. Дополнительные сведения см. в разделе "Синхронизация подписки по запросу" или "Синхронизация принудительной подписки".
См. также
Копирование баз данных путем создания и восстановления резервных копий
Резервное копирование и восстановление баз данных SQL Server