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

Откуда:
Сообщений: 498
День добрый,
Господа, помогите пожалуйста понять
Какой уровень изоляции (transaction isolation level) должен быть у пользователя #1 и #2?

1) Во время удаления записи пользователем #1 она все еще должна считываться пользователем #2

2) Во время добавления записи пользователем #1, пользователь #2 может видеть еще не закомиченную запись и не может
- вставить обновить аналогичную запись
- удалить эту запись и записи в подчиненных таблицах

Заранее спасибо за помощь!
7 дек 17, 02:19    [21013322]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
Артем G
Member

Откуда:
Сообщений: 498
подправил текст и добавил, то как я это понимаю.

Пользователь #1 - добавляет, удаляет
Пользователь #2 - читает, пытается добавить, удалить

Какой уровень изоляции (transaction isolation level) должен быть у пользователя #1 и #2?

1) Во время удаления записи пользователем #1, пользователем #2 может читать еще не закомиченную запись.
Пользователь #2 не может добавить, обновить, удалить запись и записи в подчиненых таблицах.

2) Во время добавления записи пользователем #1, пользователь #2 может читать еще не закомиченную запись.
Пользователь #2 не может добавить, обновить, удалить запись и записи в подчиненых таблицах.

3) Обновление записи не требуется. За рамками поставленной задачи.

4) Во время чтения записи пользователем #2, пользователь #1 может начать удаление.

Правильно ли я понимаю?

Пользователь #1 - SERIALIZABLE
Пользователь #2 - READ UNCOMMITTED
7 дек 17, 02:38    [21013332]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
Артем G
Member

Откуда:
Сообщений: 498
Нужно ли пользователю #1 устанавливать уровень изоляции?
Уровень изоляции нужен только при чтении? PS. судя по примерам в интернете.
7 дек 17, 02:57    [21013339]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
stenford
Member

Откуда: урал
Сообщений: 2823
Пользователь #2 - READ UNCOMMITTED

Артем G
Пользователь #2 не может добавить, обновить, удалить запись и записи в подчиненых таблицах.


какую запись, которую сейчас добавляет пользователь 1 ?
7 дек 17, 03:58    [21013351]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
aleks222
Guest
Артем G
День добрый,
Господа, помогите пожалуйста понять
Какой уровень изоляции (transaction isolation level) должен быть у пользователя #1 и #2?

1) Во время удаления записи пользователем #1 она все еще должна считываться пользователем #2

2) Во время добавления записи пользователем #1, пользователь #2 может видеть еще не закомиченную запись и не может
- вставить обновить аналогичную запись
- удалить эту запись и записи в подчиненных таблицах

Заранее спасибо за помощь!


read uncommited
7 дек 17, 05:55    [21013384]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
MadMaxus
Member

Откуда:
Сообщений: 4
Пользователь #2:
1, 4 - SNAPSHOT
2 - READ UNCOMMITTED
7 дек 17, 10:43    [21013912]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
Артем G
Member

Откуда:
Сообщений: 498
stenford
Пользователь #2 - READ UNCOMMITTED
Артем G
Пользователь #2 не может добавить, обновить, удалить запись и записи в подчиненых таблицах.

какую запись, которую сейчас добавляет пользователь 1 ?


да, ее.

Всем ОГРОМНОЕ СПАСИБО!
7 дек 17, 10:47    [21013926]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
stenford
Member

Откуда: урал
Сообщений: 2823
Артем G
да, ее.

на добавленной/измененной записи по определению висит блокировка до конца транзакции под любым типом изоляции, никакая другая транзакция с ней ничего не сделает пока та транзакция не будет закомичена
7 дек 17, 11:10    [21014066]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
Артем G
Member

Откуда:
Сообщений: 498
Господа, помогите еще понять,

Если
Пользователь #1 - добавляет, удаляет, обновляет
Пользователь #2 - читает,

Пользователь #2, здесь ясно что по необходимости можно устанавливать уровень изоляции
Пользователь #1, можно ли, нужно ли устанавливать уровень изоляции? даст ли это что либо?
7 дек 17, 11:15    [21014098]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Артем G
Пользователь #1 - добавляет, удаляет, обновляет
...
Пользователь #1, можно ли, нужно ли устанавливать уровень изоляции? даст ли это что либо?

уровни изоляции чтения, а не изменения данных.
ответ "нет"
7 дек 17, 11:18    [21014112]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
MadMaxus
Member

Откуда:
Сообщений: 4
Хотя, в п.1 имеется в виду, что пользователь #2 должен увидеть, что запись еще не удалена, или уже удалена?
Если как уже удаленная, то для пользователя #2 READ UNCOMMITTED.
Если как еще не удаленная, то для пользователя #2 SNAPSHOT.

2 - пользователь #2 READ UNCOMMITTED
3 - Либо пользователь #2 READ UNCOMMITTED
Либо пользователь #2 SNAPSHOT
Либо пользователь #1 SNAPSHOT и пользователь #2 не REPEATABLE READ и SERIALIZABLE
7 дек 17, 11:20    [21014122]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
Артем G
Member

Откуда:
Сообщений: 498
Огромное спасибо! SQL комьюнити на данном форуме самое лучшее!
7 дек 17, 13:24    [21014888]     Ответить | Цитировать Сообщить модератору
 Re: transaction isolation level  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
в итоге вам дали 2 правильных ответа и 50 ответов не о чем
Интерестно - какой вариант ответа выбрали Вы
Документация
7 дек 17, 13:32    [21014929]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить