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

Откуда:
Сообщений: 11
Привет.
Подскажите, какие проблемы можно ожидать на уровне Snapshot isolation level?
Кроме нагрузки на систему.
Могут ли быть проблемы при коммите транзакции?
2 ноя 18, 17:06    [21722688]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
adfs,

В теории повышается нагрузка на tempdb при определённых условиях и возможен её рост. Опять таки, нужно оценить, как данный режим работы повлияет на логику работы конкретных приложений и ETL процессов (буде такие есть). Есть и были подопечные базы где данный режим включен - никаких глобальных проблем там не наблюдалось.
2 ноя 18, 18:04    [21722735]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
Ну и я бы ещё сильно подумал, а нужно ли оно вообще?
2 ноя 18, 18:09    [21722743]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7768
adfs,

можно ожидать значительного падения производительности в худшем варианте. Не попробуете - не узнаете. Если у вас есть долгие и объемные транзакции наряду с множеством мелких - лучше не делайте.
2 ноя 18, 18:10    [21722745]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
adfs
Member

Откуда:
Сообщений: 11
Самую большую проблему я вижу не в том что транзакция отвалится (ее можно повторить), а в следующем сценарии:
0)Открываю транзакцию
1)Меняю данные в БД
2)Обращаюсь к апи и меняю данные на другом сервере
3)перед коммитом получаю 3960:
"Транзакция в режиме изоляции моментального снимка прервана из-за конфликта обновлений. Невозможно использовать режим изоляции моментального снимка для прямого или косвенного доступа к таблице "dbo.test" в базе данных "BitmexTest" для обновления, удаления или вставки строки, которая изменена или удалена другой транзакцией. Повторите транзакцию или измените уровень изоляции для инструкции обновления или удаления."
4)транзакция отлетает, а данные на удаленном сервере изменились

Думаю тут snapshot нельзя использовать...
все ли верно?
2 ноя 18, 18:20    [21722755]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
adfs
Member

Откуда:
Сообщений: 11
При уровне изоляции read commited или read commited snapshot
нету ведь вариантов получить ошибку непосредственно перед коммитом?
2 ноя 18, 18:25    [21722763]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
invm
Member

Откуда: Москва
Сообщений: 9349
adfs
)транзакция отлетает, а данные на удаленном сервере изменились
Читайте про распределенные транзакции.

ЗЫ: Всегда есть вероятность получить ошибку при фиксации транзакции и от уровня изоляции это не зависит.
2 ноя 18, 18:51    [21722793]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
adfs
При уровне изоляции read commited или read commited snapshot
нету ведь вариантов получить ошибку непосредственно перед коммитом?

а в остальных изоляциях это как?
2 ноя 18, 18:54    [21722794]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
adfs
Member

Откуда:
Сообщений: 11
invm
adfs
)транзакция отлетает, а данные на удаленном сервере изменились
Читайте про распределенные транзакции.

ЗЫ: Всегда есть вероятность получить ошибку при фиксации транзакции и от уровня изоляции это не зависит.


За распределенные транзакции спасибо.
Правда в чужом апи их не применишь
2 ноя 18, 19:07    [21722806]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
adfs
Member

Откуда:
Сообщений: 11
TaPaK,

А по каким причинам может не пройти команда коммита, если до нее дошло дело. Землетрясение не учитываем...
2 ноя 18, 19:09    [21722808]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
invm
Member

Откуда: Москва
Сообщений: 9349
adfs
А по каким причинам может не пройти команда коммита, если до нее дошло дело.
По любым, которые не дадут записать факт фиксации транзакции в журнал.
2 ноя 18, 19:24    [21722831]     Ответить | Цитировать Сообщить модератору
 Re: Snapshot isolation level  [new]
adfs
Member

Откуда:
Сообщений: 11
invm
adfs
А по каким причинам может не пройти команда коммита, если до нее дошло дело.
По любым, которые не дадут записать факт фиксации транзакции в журнал.


Ага, понятно.

Вероятность довольно низкая такого события... думаю можно пренебречь, тем более все равно решения в моем случае нет, я так думаю.

Спасибо.
2 ноя 18, 20:33    [21722933]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить