когда мы применяем блокировку данных, другой пользователь базы данных не может обновлять данные, пока блокировка не будет снята.
Блокировки снимаются с помощью операторов SQL Rollback или Commit.
Блокировка не позволяет двум или более пользователям базы данных одновременно обновлять одни и те же данные.
Типы блокировки
1. Блокировка обновления:
Блокировка обновления - это блокировка непосредственно перед монопольной блокировкой. Когда мы устанавливаем блокировку обновления, другие транзакции выполняют Select.
2. Эксклюзивная блокировка:
Когда оператор изменяет данные, его транзакция удерживает исключительную блокировку данных, которая предотвращает доступ к данным другим транзакциям.
3. Общая блокировка:
Общие блокировки применяются во время выполнения запроса на выборку. Обновление данных не разрешено, пока общая блокировка не будет снята.
Параллелизм:
Несколько пользователей, пытающихся обновить одни и те же данные одновременно, называются параллелизмом.
Он управляет одновременным доступом к базе данных.
Это предотвращает одновременное редактирование одной и той же записи двумя пользователями, а также сериализует транзакции для резервного копирования и восстановления.
Проблемы на уровне изоляции:
Грязное чтение:
Грязное чтение означает, что вы видите запись, которая не зафиксирована в базе данных.
Например ... Предположим, есть два пользователя, один из которых является пользователем A, а другой - пользователем B.
Пользователь B пытается обновить какое-то значение, но это не зафиксировано.
В то же время A считывает значение, которое не было зафиксировано пользователем B, а затем по какой-то причине значение отката B, затем A считывает неправильное значение.
Неповторимое чтение:
Каждый пользователь обновления получает новое значение.
Например ... Предположим, есть два пользователя A и B. Пользователь B обновляет значение, которое видит пользователь A, и когда пользователь A обновляет, затем получает новое значение.
Фантомные строки:
В задаче Phantom Rows пользователь B думает, что он обновляет все записи в строке, когда пользователь A вставляет новую запись.
Если вы новичок в SQL Server, начните со следующего видеоролика: -