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

Откуда:
Сообщений: 5
Есть таблица

CREATE TABLE [Table1] (
	[ID] [int] IDENTITY (1, 1) NOT NULL ,
	[description] [varchar] (24) NOT NULL ....

CONSTRAINT [PK_Table1] PRIMARY KEY  CLUSTERED 
	(
		[ID]
	)...

эта таблица реплицируется на другой сервер
(transactional publication with immediate updating)

BOL рекомендует следующее в таких случаях

Note If you are using transactional replication with the immediate-updating Subscribers option, do not use the IDENTITY NOT FOR REPLICATION design. Instead, create the IDENTITY property at the Publisher only

так и сделано: на подписчике поле ID таблицы Table1 становится просто int со значением по умолчанию = 0

на подписчике невозможно в одной транзакции вставить более одного значения в таблицу Table1

конструкция
INSERT INTO Table1 ( description ) SELECT top 2 description FROM Table2

выдаёт сообщение о нарушении уникальности ключа

Violation of PRIMARY KEY constraint 'PK_Table1'. Cannot insert duplicate key in object 'Table1'.
The statement has been terminated.

это и понятно: обе записи в ID будут временно иметь на подписчике значение 0
по одной, конечно, всё работает, но иногда хочется оптом вставить

кто нибудь борол эту фичу?

Олег
17 мар 05, 18:09    [1395598]     Ответить | Цитировать Сообщить модератору
 Re: identity и репликации  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Очень странный способ. До сих пор мне казалось, что в при использовании первичного ключа на целочисленный столбец надо делать разделение диапазонов:
Планирование репликации с использованием identity
Автоматическое управление диапазонами Identity в репликации слиянием
17 мар 05, 18:34    [1395676]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить