Transaction replication Not for replication на publisher

dobrik
Дата: 07.02.2013 16:52:28
Здравствуйте.
MSSQL 2008R2 EE

Настроена односторонняя транзакционная репликация с @identityrangemanagementoption = N'manual' в каждом Article.
MSDN гласит что при ручном режиме репликация устанавливает параметр NOT FOR REPLICATION для identity столбцов идентификаторов на подписчике.
http://msdn.microsoft.com/ru-ru/library/ms152543(v=sql.105).aspx

Но у меня при этом на паблишере тоже устанавливается NOT FOR REPLICATION для всех identity столбцов.

Вопрос: как нужно настраивать репликацию чтоб NOT FOR REPLICATION был только на подписчике?

Артиклы добавляю следующим образом:

EXEC MyDB.dbo.sp_addarticle
@publication = MyDB,
@article = BonusTransactionCapturing,
@source_owner = dbo,
@source_object = BonusTransactionCapturing,
@type = N'logbased',
@description = null,
@creation_script = null,
@pre_creation_cmd = N'drop',
@schema_option = 0x000000000803509F,
@force_invalidate_snapshot = 1,
@identityrangemanagementoption = N'manual',
@destination_table = BonusTransactionCapturing,
@destination_owner = dbo,
@vertical_partition = N'false',
@auto_identity_range = 'false'
invm
Дата: 07.02.2013 18:30:21
dobrik
Вопрос: как нужно настраивать репликацию чтоб NOT FOR REPLICATION был только на подписчике?
Чем вам мешает эта настройка на издателе?
dobrik
Дата: 07.02.2013 21:51:05
invm
dobrik
Вопрос: как нужно настраивать репликацию чтоб NOT FOR REPLICATION был только на подписчике?
Чем вам мешает эта настройка на издателе?


Мешает тем, что в скрипты, сгенеренные компаре тулом (скрипты сравнения баз), попадают эти столбцы, и когда делаем билд с теста на лайв, то скрипты пытаются удалить NOT FOR REPLICATION у всех identity столбцов. И т.к. эти столбцы в репликации, то ессно я получаю ошибку накатывания скриптов.
invm
Дата: 07.02.2013 22:14:53
Можно раз и навсегда установить not for replication для всех столбцов с identity.
Можно сбрасывать not for replication сразу после добавления статьи в публикацию.

Первый вариант предпочтительней.
что-то_лень_логиниться
Дата: 08.02.2013 05:12:56
dobrik,

многие тулзы сравнения имеют опцию игнрорирования "not for replication" при сравнении.
Но, имхо, первый вариант, предлженный invm, предпочтительней.