Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Странное поведение READPAST  [new]
_alesh
Member

Откуда:
Сообщений: 2
Добрый день!
Работаю с mssql2005 sp3.
Есть табличка jrn (10 строк) , в ней несколькими процессами заблокировано 3 строки. (по одной на процесс)
Скрипт блокирования выглядит так:
set transaction isolation level SNAPSHOT 
begin	tran

	select @xx= id	from dbo.jrn with (ROWLOCK,  XLOCK) 
	where id= @id


Блокировки видны - KEY , X GRANT -всё честно

Так что что странно -
Вот такой запрос:
select * from dbo.jrn with(READPAST ,READCOMMITTEDLOCK)

возвращает 10 строк (что, во-первых непонятно, так как
тк в http://msdn.microsoft.com/en-us/library/ms187373.aspx
для SNAPSHOT советуют указывать READCOMMITTEDLOCK вместо READCOMMITTED)

,а вот такой запрос

select * from dbo.jrn with (nolock)
EXCEPT 
select * from dbo.jrn with(READPAST ,READCOMMITTEDLOCK)

возвращает 7 сток - что уже правильно

Если попросить блокировку обновления, то всё работает, что не удивительно:
select * from dbo.jrn with(READPAST ,updlock)

Уважаемые коллеги, это бага или фича?
20 окт 09, 18:17    [7813755]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить