В моем SQL Server 2008 Enterprise у меня есть база данных, которая содержит несколько таблиц:
Departments
- несколько строк Persons
- 300 + - строк Permissions
- тысячи строк
Первичный ключ Persons
- это PersonId
в сочетании с DepartmentId
(который сам является FK).
Таблица Permissions
имеет FK с каскадными функциями (удаление, обновление) для PK таблицы Persons
.
Когда я выполняю этот оператор:
UPDATE Persons SET PersonId = PersonId + 1 WHERE DepartmentId = 789
, используяSSMS, ADO, ADO.NET Я либо получаю тайм-аут, либо он занимает слишком много времени (более 10 минут).
Я попытался обновить строки одну за другой с помощью ADO.NET и обнаружил это странное поведение:когда я добираюсь до определенных строк, обновление начинает зависать.Я пробовал перезапускать, удалять и создавать, создавать резервные копии и восстанавливать, удаляя строки и вставляя их заново, но пока не решил.
Заранее спасибо за любые ответы.Hen