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

Блокировки снимаются с помощью операторов 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, начните со следующего видеоролика: -