Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Bidirectional артикулы публикации синхронизируются только в одну сторону  [new]
Alx222
Member

Откуда:
Сообщений: 6
Уважаемые коллеги, столкнулся со следующей, непонятной мне ситуацией.
Имеется два сервера, между ними настроена синхронизация Merge-репликациями, несколько публикаций, в каждой публикации несколько артикулов. В течение года подобных описанной ниже проблем не возникало, все настройки при создании публикаций делаю одинаковыми. При создании очередной публикации и подписки (с новыми таблицами), данные с подписчика почему-то перестали синхронизироваться в обе стороны, а обновляются только на стороне подписчика. При этом:
1. Изменение данных на издателе (publisher) при очередной синхронизации без проблем уходят подписчику (subscriber).
2. Изменение данных подписчика в некоторых артикулах одной и той же публикации никак не влияет на данные издателя: т.е. обновляются данные только в некоторых артикулах публикации (непонятно по какому критерию), в других же артикулах этой же публикации изменения издателю не видны.
3. При этом нет конфликтов, нет сообщений о каких-либо изменениях при запуске синхронизаций, хотя данные в таблицах лежат разные.
4. Validate Subscription выдает несоответствие. Reinitialize соответственно удаляет изменения подписчика и выравнивает данные. Фильтров на синхронизирующиеся данные нет.
5. Триггеры есть в некоторых таблицах, но все они NOT FOR REPLICATION и деление по наличию триггеров не совпадает с набором таблиц, которые обновляются издателю.
5. Все артикулы в настройках публикации отмечены на bidirectional синхронизацию.
6. Разницы в Properties таблиц, публикаций, подписок я не нашел.
7. Пробовал удалять-создавать подписку, удалял-создавал публикацию с разными параметрами. Удалял на стороне подписчика таблицы в базе, чтобы создавались новые при применении снимка - ничего не помогает.
8. Проверял незакрытые транзакции, перезапускал сервера с той и с другой стороны.
Пришел к выводу, что есть еще какие-то настройки, которые не могу найти. Прошу подсказки!

PS: MS SQL 2005 на обоих серверах. Windows XP SP 3 и Windows Server 2008 R2, Merge-репликации.
21 май 14, 21:33    [16051557]     Ответить | Цитировать Сообщить модератору
 Re: Bidirectional артикулы публикации синхронизируются только в одну сторону  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
select * from sysmergearticles where upload_options > 0;
Что-нибудь возвращает?
21 май 14, 22:00    [16051630]     Ответить | Цитировать Сообщить модератору
 Re: Bidirectional артикулы публикации синхронизируются только в одну сторону  [new]
Alx222
Member

Откуда:
Сообщений: 6
invm,

нет. У меня появилось смутное предположение, что возможно я когда-то давно добавлял таблицы с такими же именами в другую публикацию, и затем таблицы удалил (и из публикации соотв. тоже). Сейчас перебираю-пересоздаю другие публикации. Есть ли вероятность что причина в этом?
21 май 14, 22:07    [16051652]     Ответить | Цитировать Сообщить модератору
 Re: Bidirectional артикулы публикации синхронизируются только в одну сторону  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
Результат select @@version покажите с обоих серверов.
21 май 14, 22:11    [16051669]     Ответить | Цитировать Сообщить модератору
 Re: Bidirectional артикулы публикации синхронизируются только в одну сторону  [new]
Alx222
Member

Откуда:
Сообщений: 6
invm,

Издатель (распространитель): Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86) Dec 10 2010 10:56:29 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 6.1 (Build 7601: Service Pack 1)

Подписчик: Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86) Dec 10 2010 10:56:29 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
21 май 14, 22:16    [16051693]     Ответить | Цитировать Сообщить модератору
 Re: Bidirectional артикулы публикации синхронизируются только в одну сторону  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
Попадают ли изменения проблемных статей на подписчике в MSmerge_contents?
21 май 14, 22:24    [16051719]     Ответить | Цитировать Сообщить модератору
 Re: Bidirectional артикулы публикации синхронизируются только в одну сторону  [new]
Alx222
Member

Откуда:
Сообщений: 6
invm,

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

select TABLE1.*, MSmerge_genhistory.* from TABLE1
inner join MSmerge_contents on TABLE1.rowguid = MSmerge_contents.rowguid
inner join MSmerge_genhistory on MSmerge_contents.generation = MSmerge_genhistory.generation
ORDER BY coldate ASC


Судя по результату сохраняются изменения статей только издателя (запускал на обоих серверах).
21 май 14, 22:43    [16051766]     Ответить | Цитировать Сообщить модератору
 Re: Bidirectional артикулы публикации синхронизируются только в одну сторону  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
Alx222
Плохо разбираюсь в системных таблицах
В этом случае, если есть возможность, проще будет все настроить заново, предварительно удалив все подписки и выполнив на подписчике в контексте нужной БД
exec sp_removedbreplication @type = 'merge';
21 май 14, 22:56    [16051806]     Ответить | Цитировать Сообщить модератору
 Re: Bidirectional артикулы публикации синхронизируются только в одну сторону  [new]
Alx222
Member

Откуда:
Сообщений: 6
invm,

благодарю за помощь. Видимо так и придется поступать.
21 май 14, 23:11    [16051875]     Ответить | Цитировать Сообщить модератору
 Re: Bidirectional артикулы публикации синхронизируются только в одну сторону  [new]
Alx222
Member

Откуда:
Сообщений: 6
Попробовал удалить часть публикации (если удалять все, то пришлось бы настраивать\ждать несколько дней) и пересоздать проблемную - не повлияло. В итоге сделал следующее: удалил проблемную публикацию, переименовал ее таблицы и создал новые таблицы со старыми именами и структурой, скопировав из переименованных данные (благо внешних ключей нет). Помогло. Всем спасибо.
22 май 14, 18:54    [16057464]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить