|
v8 Управляемые блокировки | ☑ | ||
---|---|---|---|---|
0
Антон Мак
27.02.12
✎
14:28
|
Добрый день.
Если мы установим для документа и всех его регистров режим управляемых блокировок, но не пропишем для всех регистров блокировку с помощью объекта БлокировкаДанных, будут ли они блокироваться и как? |
|||
1
dimaldinho
27.02.12
✎
15:01
|
Да, будут. При чтении регистров - разделяемая на время чтения, при записи - исключительная до конца транзакции.
|
|||
2
dimaldinho
27.02.12
✎
15:01
|
UPD При чтении регистров в транзакции - разделяемая на время чтения
|
|||
3
fisher
27.02.12
✎
15:06
|
С прикладной точки зрения - можно сказать что не будет блокировок. Только в рамках обеспечения read commited.
|
|||
4
Антон Мак
27.02.12
✎
15:09
|
т.е. блокировку нужно прописывать для всех регистров, оставлять как есть нельзя?
|
|||
5
Господин ПЖ
27.02.12
✎
15:10
|
(1) >при записи - исключительная до конца транзакции.
там readcommited - на время операции |
|||
6
Господин ПЖ
27.02.12
✎
15:10
|
(4) смотря чего получить хотите
|
|||
7
fisher
27.02.12
✎
15:19
|
(4) Исключительно из логики. Т.е. читая какие-то данные в транзакции тут же думай о том так ли это надо, почему именно в этот момент и критично ли будет если они поменяются после чтения. Далеко не для каждого алгоритма нужно прописывать блокировки.
(5) Не-не-не. До конца транзакции. |
|||
8
Господин ПЖ
27.02.12
✎
16:07
|
(7) http://www.rsdn.ru/article/db/mssqllocks.xml#EKOAG
Уровни READUNCOMMITTED и READCOMMITTED соответствуют одноименным уровням изоляции транзакций, только пишутся слитно. Блокировки при использовании этих уровней снимаются сразу после выполнения команды. В случае хинтов REPEATABLEREAD и SERIALIZABLE блокировки остаются до конца транзакции. >До конца транзакции. а sp_lock это подтверждает? я насколько помню - никаких блокировок уже нет если застопорить проведение в отладчике |
|||
9
fisher
27.02.12
✎
16:34
|
(8) Штатно просто запись регистров идет неявно при завершении транзакции проведения. Если не блокировать после записи до конца транзакции - тогда не избежать фантомов (соседняя транзакция прочитала, а потом первая откатилась).
|
|||
10
Господин ПЖ
27.02.12
✎
16:47
|
(9) readcommit проблему фантомов и не решает...
|
|||
11
fisher
27.02.12
✎
17:21
|
(10) Это не те фантомы.
|
|||
12
fisher
27.02.12
✎
17:22
|
Хотя я уже начал сомневаться. Чуток попозже попробую разобраться.
|
|||
13
Господин ПЖ
27.02.12
✎
17:25
|
(11) грязное чтение <> фантомы.
|
|||
14
Пип Пибип
27.02.12
✎
17:26
|
Тема сия волнует меня, до глубины души
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |