КОРЕКЦИЯ: синхронизация операция на репликация при сливане пъти в Microsoft SQL Server 2005

Грешка #: 50002786 (SQL корекция)

Microsoft разпространява Microsoft SQL Server 2005 коригира като един файл за изтегляне. Тъй като корекциите са сборни, всяка нова версия съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2005 Fix съобщение.

Симптоми

Помислете за следния сценарий. В Microsoft SQL Server 2005 можете да конфигурирате репликация при обединяване. След това можете да разположите снимка на абонат. В този случай когато стартирате обединяване агент за синхронизиране на данни, операцията пъти при обединяване агент извиква sp_MSmakegeneration съхранена процедура. Освен това когато изпълнявате следната декларация реплицирана база данни на абоната след операцията пъти, заявката връща някои записи, които са податливи на проблема:

select * from dbo.MSmerge_genhistory gh where not exists       (select * from dbo.MSmerge_contents as mc       where mc.generation = gh.generation)and not exists      (select * from dbo.MSmerge_tombstone as ts       where ts.generation = gh.generation)and genstatus = 0union select * from dbo.MSmerge_genhistory gh where exists       (select * from dbo.MSmerge_contents as mc      where mc.generation = gh.generation      and mc.tablenick <> gh.art_nick)or exists      (select * from dbo.MSmerge_tombstone as ts      where ts.generation = gh.generation      and ts.tablenick <> gh.art_nick)and genstatus = 0

Причина

Този проблем възниква, защото има ред в таблицата MSmerge_genhistory, която отговаря на едно от следните условия:

  • Поколение няма промени, които са съпоставени с него в таблицата MSmerge_tombstone или в таблицата MSmerge_contents.

  • Един или повече редове, които са съпоставени с генериране имат неправилна стойност в графата tablenick в таблицата MSmerge_tombstone или в таблицата MSmerge_contents.

Тази ситуация причинява sp_MSmakegeneration съхранена процедура да отидете в безкраен цикъл.

Решение

Решение за този проблем излезе първо в сборна актуализация 8. За повече информация как да получите този кумулативен пакет за SQL Server 2005 Service Pack 2 щракнете върху следния номер на статия в базата знания на Microsoft:

951217 сборния пакет за актуализация 8 за SQL Server 2005 Service Pack 2Забележка: Тъй като компилациите са сборни, всяка нова версия на корекцията съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишните SQL Server 2005 Fix съобщение. Microsoft препоръчва да решите да приложите най-новата версия на корекцията, която съдържа тази спешна корекция. За повече информация щракнете върху следния номер на статия в базата знания на Microsoft:

937137 sql Server 2005 компилации, които са издадени след SQL Server 2005 Service Pack 2 е издаденMicrosoft SQL Server 2005 поправки са създадени за конкретни SQL Server сервизни пакети. Трябва да приложите SQL Server 2005 Service Pack 2 корекция за инсталация на SQL Server 2005 Service Pack 2. По подразбиране всяка актуална корекция, която се предоставя в сервизен пакет на SQL Server е включен в следващия сервизен пакет за SQL Server.

Заобиколно решение

За да заобиколите този проблем, изпълнете следните стъпки:

  1. Отменете операцията за синхронизация, която не е завършена.

  2. Изпълнете следните отчети, за да получите generation_leveling_threshold настройка за публикуване:

    use <Publication Database Name>goexec sp_helpmergepublication @publication = '<Publication Name>'

    Обърнете внимание на стойността на настройката на generation_leveling_threshold.

  3. Изпълнете следните изявления, за да забраните генериране на изравняване и генериране на обединяване:

    use <Publication Database Name>exec sp_changemergepublication @publication = '<Publication Name>', @property = 'generation_leveling_threshold', @value = 0
  4. Синхронизиране на данни за публикацията.

  5. След като синхронизацията завърши успешно, Нулирайте generation_leveling_threshold настройката обратно към стойността, която сте отбелязали в стъпка 2. За да направите това, изпълнете следните отчети:

    use <Publication Database Name>exec sp_changemergepublication @publication = '<Publication Name>', @property = 'generation_leveling_threshold', @value = <Value>

След като използвате този метод, за да заобиколите този проблем, този проблем ще възникне отново, ако друг абонат се опитва да обработи генериране. Трябва да повторите тези стъпки за всички абонати, които възникнат проблема.

Статут

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "отнася се за".

Повече информация

За повече информация относно какви файлове се променят и за информация относно предварителни условия за прилагане на сборния пакет за актуализация, която съдържа актуалната корекция, описана в тази статия от базата знания на Microsoft щракнете върху следния номер на статия статия в базата знания на Microsoft:

951217 сборния пакет за актуализация 8 за SQL Server 2005 Service Pack 2

Препратки

За повече информация относно списъка на компилации, които са налични след SQL Server Service Pack 2 щракнете върху следния номер на статия в базата знания на Microsoft:

937137 sql Server 2005 компилации, които са издадени след SQL Server 2005 Service Pack 2 е издаденЗа повече информация относно модела на постъпково обслужване за SQL Server щракнете върху следния номер на статия в базата знания на Microsoft:

935897 модел на постъпково обслужване е достъпна от екипа на SQL Server за предоставяне на актуални корекции за докладвани проблемиЗа повече информация как да получите SQL Server 2005 Service Pack 2 щракнете върху следния номер на статия в базата знания на Microsoft:

913089 как да получите най-новия сервизен пакет за SQL Server 2005За повече информация относно новите функции и подобренията в SQL Server 2005 Service Pack 2 посетете следния уеб сайт на Microsoft:

http://go.microsoft.com/fwlink/?LinkId=71711За повече информация относно схемата за именуване на актуализации на SQL Server щракнете върху следния номер на статия в базата знания на Microsoft:

822499 нова схема за именуване на пакетите за актуализация на софтуера на Microsoft SQL ServerЗа повече информация относно терминологията за актуализация на софтуера щракнете върху следния номер на статия в базата знания на Microsoft:

824684 описание на стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×