none
Ошибка Merge репликации при инициализации без Snapshot RRS feed

  • Dotaz

  • Запускаю в тестовую эксплуатацию merge-репликацию.
    Имеется: 2 SQL Server 2005+SP2+hf3152.
    Делаю Merge репликацию с инициализацией по стандарту (через snapshot) - отрабатывает на ура, базы синхронизируются.
    По BOL делаю "Initializing a Merge Subscription Without a Snapshot". Публикация не содержит параметризованных фильтров.
    Создаю Publication точно такую же, как и в 1-м случае. Делаю snapshot. Делаю бекап реплицируемой БД, с ней никто не работает, изменений никаких не вносится. Поднимаю базу на подписчике. Создаю push-подписку (очистив Initialize чек-бокс). До этого момента всё нормально. И, наконец, запускаю Merg-агента, чтобы инициализировать подписку.
    Джоб не отрабатывает до конца и останавливается со следующей ошибкой (из Replication Monitor):

    Code Snippet

    Command attempted:
    {call sp_MSsetconflicttable (N'sysdiagrams', N'MSmerge_conflict_TestPub_sysdiagrams', N'ORACLE', N'exempt_replication', N'TestPub')}

    Error messages:
    Неправильный синтаксис около конструкции "name". (Source: MSSQLServer, Error number: 102)
    Get help: http://help/102
    The merge process was unable to deliver the snapshot to the Subscriber. If using Web synchronization, the merge process may have been unable
    to create or write to the message file. When troubleshooting, restart the synchronization with verbose history logging and specify
     an output file to which to write. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147201001)
    Get help: http://help/MSSQL_REPL-2147201001

      

    По предложенным ссылкам ходил, MS искренне извиняется, что пока информации по этим ошибкам нет
    Есть соображения, что за "неправильный синтаксис около конструкции "name""? Сталкивался ли кто-нибудь с подобной проблемой?

    čtvrtek 5. dubna 2007 14:02

Odpovědi

  • Раскажите подробнее, каковы были параметры восстановления из резервной копии?
    pátek 6. dubna 2007 13:09
  • Уф... разобрался.  Alexander Gladchenko, Вы как предсказатель)

    Дело действительно в одном из параметров восстановления резервной копии.

    Но! Докажите мне, что моё знание английского отличается от общепринятого. Цитата из BOL (3-й пункт статьи "Initializing a Merge Subscription Without a Snapshot"):

    Restore the backup at the Subscriber or copy data using another method. If you restore a backup, do not specify the KEEP_REPLICATION option. This option is designed to maintain replication settings during restore; the backup came from the Publisher, so you want to remove the Publisher settings from the database. The restored database will have the necessary Subscriber settings after the initial synchronization.

    Бекап я поднимал из SSMS, опцию "Preserve the replication settings" не включал. Как только включаю эту опцию, всё работает.

    Это ошибка в справке? Или я что-то упускаю?
    pátek 6. dubna 2007 16:26
  • В документации написано правильно, да и логично это, зачем подписчику востанавливать настройки репликации издателя... Другой вопрос, правильно ли написано в окне инерфейса... я бы посоветовал профайлером попробовал отловить, какая команда уходит на сервер, если замарать этот чекбокс... Ну а что бы небыло разночтений, лучше такие важные вещи, как BACKUP и RESTORE всегда делать ручками (т.с. скриптом).

     

    В тему: http://www.sql.ru/forum/actualthread.aspx?tid=415218#3992611

     

    И напоследок: обязательно заведите баг на https://connect.microsoft.com/SQLServer/Feedback 

    Пишите прямо по русски, только тему начните с букв: RUS Как я понял, описать самое простое воспроизведение проблемы в сможете, поскольку это уже делали. Можете заодно указать ссылки на соответвтующие темы в форумах...

     

    С недавнего времени, русский язык стал одним из родных языков SQL Server, т.ч. этим нужно пользоваться Wink

     

    sobota 7. dubna 2007 9:10

Všechny reakce

  • Раскажите подробнее, каковы были параметры восстановления из резервной копии?
    pátek 6. dubna 2007 13:09
  • Уф... разобрался.  Alexander Gladchenko, Вы как предсказатель)

    Дело действительно в одном из параметров восстановления резервной копии.

    Но! Докажите мне, что моё знание английского отличается от общепринятого. Цитата из BOL (3-й пункт статьи "Initializing a Merge Subscription Without a Snapshot"):

    Restore the backup at the Subscriber or copy data using another method. If you restore a backup, do not specify the KEEP_REPLICATION option. This option is designed to maintain replication settings during restore; the backup came from the Publisher, so you want to remove the Publisher settings from the database. The restored database will have the necessary Subscriber settings after the initial synchronization.

    Бекап я поднимал из SSMS, опцию "Preserve the replication settings" не включал. Как только включаю эту опцию, всё работает.

    Это ошибка в справке? Или я что-то упускаю?
    pátek 6. dubna 2007 16:26
  • В документации написано правильно, да и логично это, зачем подписчику востанавливать настройки репликации издателя... Другой вопрос, правильно ли написано в окне инерфейса... я бы посоветовал профайлером попробовал отловить, какая команда уходит на сервер, если замарать этот чекбокс... Ну а что бы небыло разночтений, лучше такие важные вещи, как BACKUP и RESTORE всегда делать ручками (т.с. скриптом).

     

    В тему: http://www.sql.ru/forum/actualthread.aspx?tid=415218#3992611

     

    И напоследок: обязательно заведите баг на https://connect.microsoft.com/SQLServer/Feedback 

    Пишите прямо по русски, только тему начните с букв: RUS Как я понял, описать самое простое воспроизведение проблемы в сможете, поскольку это уже делали. Можете заодно указать ссылки на соответвтующие темы в форумах...

     

    С недавнего времени, русский язык стал одним из родных языков SQL Server, т.ч. этим нужно пользоваться Wink

     

    sobota 7. dubna 2007 9:10
  • Ок, профайлером пощупаю, баг сегодня же заведу. А вот насчёт "BACKUP и RESTORE всегда делать ручками" позволю себе частично не согласиться. Про то, что лучше ручками - это без проблем. Но когда я от начала и до конца настраиваю репликацию через GUI SSMS и не пишу ни строчки кода, мне кажется логичнее и удобнее поднимать базу через тот же графический интерфейс.

    P.S.:  http://www.sql.ru/forum/actualthread.aspx?tid=415218#3992611 - это как в анекдоте про чукчу и листочек, на котором с обоих сторон написано "Читать с другой стороны".

    Я думаю понятно, что посты там мои) Написал в 2 форума для ускорения решения проблемы

    sobota 7. dubna 2007 10:33