#sql #sql-server
#sql #sql-сервер
Вопрос:
Мы используем уровень изоляции ReadCommitted, и иногда мы получаем блокировки таблиц, поэтому я решил прочитать о новом уровне изоляции моментального снимка. Кажется, это лучше, чем ReadCommitted во всех отношениях. Иногда возникают исключения, но с ними легко справиться с помощью столбца версии строки в таблицах или политики повторных попыток при сбое (последний вариант, который я собираюсь реализовать). Читайте в основном отсюда https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/sql/snapshot-isolation-in-sql-server
Может ли кто-нибудь, имеющий достаточный опыт работы с моментальным снимком, указать какие-либо недостатки?
Возможно, я не заметил подводных камней.
Заранее спасибо.
Наш стек — Entity Framework v6, Entity Framework Core, SQL Server.
Комментарии:
1. Одним из возможных недостатков является тот факт, что изоляция моментальных снимков создает гораздо большую нагрузку на базу данных Temp DB, которая, как известно, уже является источником многих проблем ….
2. Кроме того, после включения параметра базы данных ALLOW_SNAPSHSOT_ISOLATION возникают дополнительные накладные расходы в размере 14 байт на строку.