Я не уверен, что вы подразумеваете под «SQL Server 2005 использует пессимистический контроль параллелизма по умолчанию».IMO SQL Server 2005 предоставляет нам инструменты, которые позволяют нам реализовывать оптимистический или пессимистичный подход.Я написал несколько примеров для simple-talk: Разработка модификаций, сохраняющих параллелизм
Редактировать: я не думаю, что поведение SQL Server по умолчанию является именно «пессимистичным контролем параллелизма».Давайте рассмотрим следующий простой пример, который работает с уровнем изоляции по умолчанию READ COMMITTED:
-- Connection one
BEGIN TRANSACTION;
SELECT * FROM Schedule
WHERE ScheduledTime BETWEEN '20110624 06:30:00'
AND '20110624 11:30' ;
-- Connection two
UPDATE Schedule
SET Priority = 'High'
WHERE ScheduledTime ='20110624 08:45:00'
-- nothing prevent this update from completing,
-- so this is not exactly pessimistic
-- Connection one
DELETE FROM Schedule
WHERE ScheduledTime ='20110624 08:45:00' ;
COMMIT ;
-- nothing prevents us from deleting
-- the modified row