Исходные данные: есть сервер distribution, есть сервер subscriber.
Настроена репликация транзакциями с distribution на subscriber.
Replication monitor выдает следующее:
Violation of PRIMARY KEY constraint 'PK_dboSM_AlarmsStatistics'. Cannot insert duplicate key in object 'dbo.SM_AlarmsStatistics'. The duplicate key value is (ExceedingCur, 6061, 0). (Source: MSSQLServer, Error number: 2627)
в таблице SM_AlarmsStatistics составной индекс из трех колонок в которых должно содержаться (ExceedingCur, 6061, 0) из ошибки выше.
если выполнить
use distribution
go
exec sp_browsereplcmds '0x000064A0000048E5000A00000000', '0x000064A0000048E5000A00000000'
--по коду ошибки в Replication monitor
go
то увидим на чем именно останавливается репликация(это ведь так работает?)
Валится на пункте 2
1. {CALL [sp_MSins_dboSM_States] (677390,0,6061,2016-05-18 00:00:00.000,'ExceedingCur','Yes',1,1)}
2. {CALL [sp_MSins_dboSM_AlarmsStatistics] (N'ExceedingCur',6061,0,2016-05-18 00:00:00.000,1,1,677390)}
Я пробовал сделать truncate в этой таблице, но ошибка остается, хоть таблица и пустая.
Пробовал так же в эту таблицу вручную вставлять значения, все отлично вставляется в подписчике
insert into SM_AlarmsStatistics values(N'ExceedingCur',6061,0,convert(datetime, '2016-05-18 00:00:00.000',121),1,1,677390)
Можно ли обновить как то составной индекс(что-то типа DBCC CHECKIDENT (@fullTableName, RESEED, @nextIdToGo)) или что сделать в таком случае?