|  25.01.2017, 14:54 | #1 | 
| Участник | Блокировки Базы данных Ax2012 R2 
			
			Добрый день, Вот такой SQL запрос не может выполниться, т.к. обращается к ресурсу, который в данный момент используется. Код: (@P1 int,@P2 int,@P3 bigint,@P4 int)UPDATE BOMLEVELRECALCULATION SET BOMLEVELRECALCULATIONNEEDED=@P1,RECVERSION=@P2 WHERE ((RECID=@P3) AND (RECVERSION=@P4)) У меня такой вопрос. А как Аксапта сформаровала запрос с полем RecVersion. Вроде оно обычно не используюется в select-ах? | 
|  | 
|  25.01.2017, 15:05 | #2 | 
| Участник | 
			
			Это ядро, это поле нужно для того, чтобы поймать блокировки обновления записи при использовании OCC. Подробнее вот тут https://msdn.microsoft.com/en-us/library/bb190073.aspx
		 
				__________________ Sergey Nefedov | 
|  | |
| За это сообщение автора поблагодарили: Vadik (1), petr (1). | |
|  25.01.2017, 15:35 | #3 | 
| Участник | Цитата: 
		
			Сообщение от SRF
			   Это ядро, это поле нужно для того, чтобы поймать блокировки обновления записи при использовании OCC. Подробнее вот тут https://msdn.microsoft.com/en-us/library/bb190073.aspx Код: update myTable setting Field1 = 'A' where myTable.RecId == 100 Код: update myTable setting Field1 = 'A', RecVersion = 124 where myTable.RecId == 100 && myTable.RecVersion == 123 | 
|  | 
|  25.01.2017, 15:48 | #4 | 
| Модератор | Цитата: 
		
			Я правильно понимаю
		
	 
				__________________ -ТСЯ или -ТЬСЯ ? | 
|  | 
|  25.01.2017, 16:24 | #5 | 
| Участник | 
			
			Я только не понимаю почему данный SQL-запрос ждет выполнения другого запроса, а не выполняется спокойно себе. Получается ВСЯ таблица каким-то другим запросом заблокирована?
		 | 
|  | 
|  25.01.2017, 16:48 | #6 | 
| Модератор | 
			
			Залочено где-то на уровне выше единичной записи - смотрите что у вас 63 "держит"
		 
				__________________ -ТСЯ или -ТЬСЯ ? | 
|  | |
| За это сообщение автора поблагодарили: petr (1). | |
|  25.01.2017, 17:35 | #7 | 
| Moderator | 
			
			Есть шансы что у вас там оптимизатор запросов сошел с ума и использует индекс не по recId, а какой-то более другой. Попробуйте сбросить кэш запросов (через DBCC FREEPROCCACHE()), и перестроить индексы по этой таблице (Хотя там всего одна запись по факту   ) | 
|  | |
| За это сообщение автора поблагодарили: petr (1). | |
| Теги | 
| ax2012, occ | 
|  | 
| 
 |