Сервер: SQL Server 2008R2 Клиенты: Excel / ADO - 8 клиентов Аппаратное обеспечение сервера: 8 ядер / 16 ГБ Память / ОС: WinServer 2008SR2
Взаимоблокировки возникают при хранимых процедурах вставки / обновления и слияния / сопоставления.
Я много читал здесь о вставке / обновлении, и в результате я изменил мои Вставки / Обновления на Слияние / Соответствие, но я все еще получаю ОЧЕНЬ частые ошибки тупиковой ситуации (примерно раз в 10 минут) оттолько 8 клиентов, работающих в пакетном режиме, запрашивают обновления со скоростью 2 в минуту.
В отличие от этого, каждый клиент вставляет около 20 000 элементов в минуту в другую таблицу без каких-либо проблем.
Мне бы очень хотелось помочь в решении этих тупиковых ситуаций, поскольку я не думаю, что такие жалкие 8 клиентов (особенно Excel / ADO / VBA) должны быть в состоянии подчеркнуть эту БД!
Также обратите внимание, что я неВыполняйте любые команды SQL напрямую через клиентов, все команды sql вызываются через хранимые процедуры.
Мой текущий SP:
merge [dbo].[File_Level_Data] as TargetMerge
using(select @Name_of_File as name)as source
on (TargetMerge.Name_of_File = source.name)
when matched then
update
set
XXX1 = @XXX1,
ZZZ25 = @ZZZ25
when not matched then
insert
(XXX1,
ZZZ25
) values
(
@XXX1,
@ZZZ25
);