В нашем приложении C# мы не установили уровень изоляции, поэтому я предполагаю, что уровень изоляции по умолчанию идет как Read Committed. Однако в тупике, мы могли видеть, что LockMode приложения являетсяБудет ли изменяться уровень изоляции во время транзакции базы данных?
IsolationLevel = "сериализация (4)"
Что это значит по сериализации (4)? Также будет ли уровень изоляции автоматически конвертировать в другое во время транзакции?
Как вы просматриваете уровень изоляции транзакции в приложении во время тупика? –
Нет, уровень изоляции не изменится сам по себе. Да, вы можете изменить уровень изоляции в транзакции либо через явный «УРОВЕНЬ ИЗОБРАЖЕНИЯ СТАВКИ», либо путем применения табличной подсказки в предложении 'FROM'. Но более вероятной причиной неожиданного уровня изоляции является объединение соединений, которое ранее имело сериализуемую транзакцию: [уровень изоляции не сбрасывается] (https://connect.microsoft.com/SQLServer/feedback/details/243527/sp -reset-соединение-оленья кожа-сброс-уровень-изоляции). Если вы хотите быть уверенным, всегда устанавливайте его явно. –
@RossBush, мы получили журналы тупиков от DBA, у которого есть список процессов и ресурсов в тупике – Antoops