none
Репликация - остановка с ошибкой "The row was not found at the Subscriber". RRS feed

  • Общие обсуждения

  • SQL Server 2008. Настроена push transactional replication: SQL Server 2008 - SQL Server Express 2008.

    Периодически репликация останавливается со следующей ошибкой. Исправляется реинициализацией подписчика через новый snapshot.

    Как понять в чем конкретно ошибка и в каком row проблема?

    Command attempted:

    if @@trancount > 0 rollback tran
    (Transaction sequence number: 0x00000245000041B1000500000000, Command ID: 1)

    Error messages:
    The row was not found at the Subscriber when applying the replicated command. (Source: MSSQLServer, Error number: 20598)
    Get help: http://help/20598


    • Изменен тип Roman ZhukovModerator 27 февраля 2011 г. 11:22 Отсутствие активности пользователя
    2 июля 2010 г. 10:34

Все ответы

  • Все легко и просто. Просто на подписчике кто-то или что-что удаляет запись. Нужно проверить кто и как использует базу подписчика. В твоем случае наподписчике не рекомендуется :) удалять/редактировать/добавлять/ ит.п. записи. Для этого есть другие типы репликаций.

    Если нужно ее изменять, то можно использовать merge replication or trunsaction replication with updatable subscribers

    2 июля 2010 г. 20:05
  • Уважаемый Gattuso2009,

    как продвигается решение проблемы? Посмотрите вот это, кажется это ваш случай.

    Модератор
  • Уважаемый пользователь!
    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме.
    Модератор
  • Мои 5 копеек:

    use distribution
    go

    select * from MSpublisher_databases /*View replication DB*/
    go

    select * from MSrepl_commands
    where command_id = 91 /* from replication monitor*/
    go



    sp_browsereplcmds @xact_seqno_start = '0x003B942C00016D4C0001'
    ,@xact_seqno_end = '0x003B942C00016D4C0001'
    ,@publisher_database_id = 1
    ,@article_id = 1980
    ,@command_id= 91
    go


    delete from msrepl_commands where xact_seqno=0x003B942C00016D4C0001 /*Delete error command*/
    go

    24 апреля 2012 г. 9:35
  • Уважаемый Gattuso2009,

    как продвигается решение проблемы? Посмотрите вот это, кажется это ваш случай.

    Спасибо за ссылку. Мне она очень помогла в нахождении ошибки у меня в репликации.
    7 сентября 2012 г. 7:27