Проблемы
Рассмотрим следующий сценарий.
-
Вы настраиваете репликацию транзакций на компьютере, на котором запущен Microsoft SQL Server 2012.
-
Вы вызываете хранимую процедуруp_addpublication с помощьюзадания для свойства allow_initialize_from_backup значения N'TRUE. На издателе будет добавлена публикация.
-
Вы можете вызвать сохраненную процедуру sp_addarticle , задав для свойства Type значение только схема N'proc. Таким образом на издателе будет добавлена статья с хранимой процедурой схемы.
-
Для добавления статьи таблицы вызывается хранимая процедура sp_addarticle . В результате будет выполнена репликация таблицы с именемTable1на издателе.
В этом случае хранимые процедуры sp_MSdel_Table1, sp_MSins_Table1и sp_MSupd_Таблица1 не создаются в базе данных подписки. Примечание.Эта проблема не возникает, если не нужно добавлять статью хранимой процедуры, хранящейся в схеме.
Решение
Сведения о накопительном пакете обновления
Накопительное обновление 5 для SQL Server 2012 с пакетом обновления 1 (SP1)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 5. За дополнительными сведениями о том, как получить этот накопительный пакет обновления для SQL Server 2012 с пакетом обновления 1 (SP1), щелкните следующий номер статьи базы знаний Майкрософт:
2861107 Накопительный пакет обновления 5 для SQL Server 2012 с пакетом обновления 1 (SP1)Примечание. Поскольку сборки являются кумулятивными, каждый новый набор исправлений содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012 с пакетом обновления 1 (SP1). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2772858 Сборки SQL Server 2012, выпущенные после выпуска пакета обновления 1 (SP1) для SQL Server 2012
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Обходное решение
Для решения этой проблемы выполните указанные ниже действия.
-
Установите для свойства allow_initialize_from_backup значение N'FALSE " при выполнении sp_addpublication.
-
Добавьте статью таблицы на издатель.
-
Выполните хранимую процедуру sp_changepublication , задав свойству allow_initialize_from_backup значение true. Например, хранимая процедура выглядит следующим образом:exec sp_changepublication@publication = N'$(PublicationName)',@property = N'allow_initialize_from_backup',@value = N'true'