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

Откуда:
Сообщений: 379
Добрый день.
Структура следующая.
Сервер А реплицирует базу 1 на сервер B.
В это же время настроена репликация с сервера В,который так же реплицирует базу 1 на сервер А.
Настроена транзакционная репликация. На сервер В данные уходят без проблем,а вот обратно возникает ошибка.

Violation of PRIMARY KEY constraint 'PK__Discount__DC105B0F3E52440B'. Cannot insert duplicate key in object 'dbo.DiscountCategories'. The duplicate key value is (11).

Подскажите, будьте добры, как ее исправить?
2 ноя 17, 09:34    [20920957]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
Максим Александровитч,

ознакомьтесь тынц
2 ноя 17, 11:13    [20921325]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 379
Настроил как написано.
Все равно ошибка
Невозможно удалить таблица "dbo.Units", так как она используется для репликации. (Source: MSSQLServer, Error number: 3724)
2 ноя 17, 13:03    [20921711]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36692
Максим Александровитч
Настроил как написано.
Все равно ошибка
Невозможно удалить таблица "dbo.Units", так как она используется для репликации. (Source: MSSQLServer, Error number: 3724)
Это каким-же образом у вас вставка данных в таблицу dbo.DiscountCategories приводит к удалению таблицы dbo.Units?
2 ноя 17, 13:06    [20921720]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 379
Гавриленко Сергей Алексеевич,

При методе действия с объектами при настройки подписки.
Что-то типа Drop object....
2 ноя 17, 14:28    [20922012]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 379
С этим разобрался..вопрос.
У меня ИД записей,которые создаются..повторяются и там и там.Как мне сделать,например шаг +1 в базе B?
2 ноя 17, 23:09    [20923366]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Максим Александровитч
С этим разобрался..вопрос.
У меня ИД записей,которые создаются..повторяются и там и там.Как мне сделать,например шаг +1 в базе B?

Нужно внимательно прочитать официальную документацию и долго думать насчет Identity
2 ноя 17, 23:14    [20923382]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Максим Александровитч,
"To use identity columns in a replication topology that has updates at more than one node, each node in the replication topology must use a different range of identity values, so that duplicates do not occur.
For example, the Publisher could be assigned the range 1-100, Subscriber A the range 101-200, and Subscriber B the range 201-300" - с английского варианта понятнее.
И делать такое в "Show Advanced Options on Create Publication Wizard form" нужно до включения двусторонней репликации. И скорее всего изменение структуры существующих таблиц после включения репликации не получится "Adding an identity column to a published table is not supported", так что сначала все продумать, потом включать.
2 ноя 17, 23:19    [20923390]     Ответить | Цитировать Сообщить модератору
 Re: Транзакционная репликация  [new]
Максим Александровитч
Member

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

Да,все верно,метод плохо тем,что если менять таблицы,то с полным пересозданием реплик на 2-х сторонах.
3 ноя 17, 08:34    [20923673]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить