Как настроить репликацию? - Эта база данных не включена для публикации - PullRequest
4 голосов
/ 09 марта 2010

Я пытаюсь настроить репликацию на SQL Server 2005. Я могу сделать это с помощью мастера. Но когда я пытаюсь запустить сгенерированные скрипты этим мастером, появляется сообщение об ошибке:

Msg 14013, Level 16, State 1, Procedure sp_MSrepl_addpublication, Line 159
This database is not enabled for publication.
Msg 18757, Level 16, State 1, Procedure sp_MSrepl_addpublication_snapshot, Line 66
Unable to execute procedure. The database is not published. Execute the procedure in a database that is published for replication.
Msg 14013, Level 16, State 1, Procedure sp_MSrepl_addarticle, Line 168
This database is not enabled for publication.
Msg 14294, Level 16, State 1, Procedure sp_verify_job_identifiers, Line 25
Supply either @job_id or @job_name to identify the job.

Это немного странно, потому что когда я запускаю этот запрос в базе данных, где я щелкнул, а затем удалил публикацию, все идет хорошо. Проблема в том, что я использую свой запрос в новой базе данных. Более того, я использую хранимую процедуру sp_replicationdboption. Когда я пытаюсь запустить его, он говорит:

Для параметра репликации publish базы данных ReplicationTest00 уже задано значение true.

Пожалуйста, помогите мне решить эту проблему.

Ответы [ 3 ]

3 голосов
/ 09 марта 2010

Я полагаю, вы настроили распространителя для своей топологии репликации?

Мой совет относительно репликации, НЕ выполняйте свои шаги с помощью мастера.

Во что бы то ни стало, используйте мастер для создания параметров конфигурации, но вместо того, чтобы выполнить его в конце, запишите сценарии. Таким образом, у вас есть полная запись вашей конфигурации в форме T-SQL, и вы вручную вносите изменения / изменения в представленный код.

1 голос
/ 24 декабря 2014

Перед запуском скрипта включите Использовать [имя_публикации_db_name]

это установит контекст базы данных

1 голос
/ 10 марта 2010

Хорошо, я нашел решение для этой проблемы. Я пытался запустить сценарий репликации Snapshor в контексте всего сервера SQL, который выдавал выше сообщение об ошибке.

Когда я выполнял свой сценарий в виде базы данных, которая используется для репликации в качестве распространителя, он работает отлично. :)

...