Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Snapshot транзакция блочит SELECT
|
|||
|---|---|---|---|
|
#18+
Добрый день. Проблема такая, в базе данных периодически возникают блокировки, когда один select блокирует другие, также SELECTы. У всех блокирующих запросов уровень изоляции - Snapshot. Селекты вообще не должны блокировать друг друга, так как накладывается лишь блокировка типа S. Транзакции с TIL Snapshot также не должны блокировать друг друга. Цитата с https://docs.microsoft.com/en-us/sql/t-sql/statements/set-transaction-isolation-level-transact-sql?view=sql-server-2017: Except when a database is being recovered, SNAPSHOT transactions do not request locks when reading data. SNAPSHOT transactions reading data do not block other transactions from writing data . Transactions writing data do not block SNAPSHOT transactions from reading data. К тому же в запросах блокирующем и заблокированных вообще идет обращение к разным таблицам, правда одной схемы. В теме https://www.sql.ru/forum/798547/snapshot-isolation-select-blokiruet-insert товарищ Кудряшка в сообщении от 19 окт 10, 03:57 упомянул:"Версионный механизм разрешения конкуренции, если вы почитаете, то он накладывает иные блокировки при ЧТЕНИИ данных " - кто-нибудь в курсе блокировок при чтении? Я что-то совсем не впиливаю, полный конец обеда. Подскажите куда копать люди добрые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2019, 18:49 |
|
||
|
Snapshot транзакция блочит SELECT
|
|||
|---|---|---|---|
|
#18+
скриншот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2019, 18:51 |
|
||
|
Snapshot транзакция блочит SELECT
|
|||
|---|---|---|---|
|
#18+
tratata74, Вы текст скрипта покажите. У вас там может ещё куча таблиц. Или транзакция обернута другой транзакцией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2019, 19:10 |
|
||
|
Snapshot транзакция блочит SELECT
|
|||
|---|---|---|---|
|
#18+
a_voronin, Запрос 194 сессии: (@P0 nvarchar(4000),@P1 nvarchar(4000),@P2 nvarchar(4000),@P3 nvarchar(4000),@P4 nvarchar(4000)) SELECT COUNT(1) FROM SKUxLOC SL JOIN LOC L on SL.LOC = L.LOC JOIN SKUxLOC SL1 on SL1.LOC = SL.LOC WHERE L.Loc = @P0 AND L.CommingleSku = '0' AND SL.SKU = @P1 AND (SL.QTY > 0 OR SL.QTYLOCATIONLIMIT > 0) AND (SL1.SKU <> @P2 OR ( SL1.SKU = @P3 AND SL1.StorerKey <> @P4 )) and SL1.QTY > 0 в запросах 111 и 128 сессий нет обращений ни к SKUxLOC, ни к LOC. Также был замечен блокирующий запрос(тоже с TIL Snapshot) с текстом: (@P0 nvarchar(4000))SELECT * FROM LOT WHERE Lot = @P0 . Уж тут то вообще проще некуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2019, 19:35 |
|
||
|
Snapshot транзакция блочит SELECT
|
|||
|---|---|---|---|
|
#18+
1. Читатель на TIL Snapshot может блокировать кого-то, если для каких-либо таблиц в запросе прописаны соответствующие хинты. 2. Результат на вашем скриншоте странный - при BlockedBy <> 0 status не может быть running 3. Покажите wait resource для заблокированных сессий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2019, 20:35 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1687529]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
136ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 446ms |

| 0 / 0 |
