Транзакция изоляции моментального снимка прервана из-за конфликта обновления

Следующее утверждение

INSERT INTO dbo.Changes([Content], [Date], [UserId], [CompanyId]) 
  VALUES (@1, @2, @3, @4);
SELECT @@identity;

дает мне эту ошибку SQL 3960:

ранзакция изоляции @Snapshot прервана из-за конфликта обновления. Вы не можете использовать изоляцию моментальных снимков для прямого или косвенного доступа к таблице 'dbo.Companies' в базе данных 'myDatabase', чтобы обновить, удалить или вставить строку, которая была изменена или удалена другой транзакцией. Повторите транзакцию или измените уровень изоляции для оператора update / delete.

Насколько я понял, из сообщения об ошибке не следует обновлять, удалять или вставлять в таблицуdbo.Companies во время модификации другого соединенияdbo.Companies.

Но почему это происходит, когда я вставляю новую строку в другую таблицуdbo.Changes (который имеет внешний ключ кdbo.Companies) и я не удалял ссылочную строку вdbo.Companies, но я просто обновлял строку вdbo.Companies а не первичный ключ? Это должно работать хорошо, не так ли? (Это ошибка в SQL Server?)

ОБНОВИТЬ

Таблицы выглядит следующим образом:

dbo.Changes([Id] int PK, [Content] nvarchar, 
  [Date] datetime, [UserId] int, [CompanyId] int -> dbo.Companies.[Id])
dbo.Companies([Id] int PK, [Name] nvarchar)

Второе обновление делает:

UPDATE dbo.Companies WHERE [Id] = @1 SET [Name] = @2;

Ответы на вопрос(2)

Ваш ответ на вопрос