Добавление новой статьи к репликации транзакций приводит к ошибке у подписчика - PullRequest
1 голос
/ 05 октября 2010

У меня есть обновляемая репликация транзакций с SQL Server 2008. Все работает нормально.Я добавил новую таблицу в существующую публикацию через sp_addarticle, а затем sp_addsubscription.После этого я запустил агент снимков.Снимок был создан только для вновь добавленной таблицы.Таким образом, новая таблица была успешно реплицирована на подписчика.Я даже смог бы скопировать подписчику новую вставленную запись в новую таблицу.Но наоборот не возможно.Когда я вставляю запись в новую таблицу в базе данных подписчиков, я получаю сообщение об ошибке

*Msg 515 'Cannot insert the value NULL into column 'msrepl_tran_version',
 table Servername.dbo.Tablename'; column does not allow nulls. INSERT fails.'*.

.Гита

1 Ответ

0 голосов

Это воспроизводимая ошибка? Абонент настроен как немедленное обновление? В случае подписчика с немедленным обновлением транзакция завершается неудачей, когда издатель (или сеть) недоступен.

Проверьте и измените вашу таблицу, если у нее ее нет, так что ms_repl_tran_version по умолчанию имеет GUID:

ALTER TABLE [dbo]. [TableName] ADD CONSTRAINT [DFLT_GUID_msrepl] DEFAULT (newid ()) FOR [Msrepl_tran_version]

...