Блокировка данных таблицы в базе MS SQL

Ошибки при работе с ГИС Аксиома
Ответить
Аватара пользователя
Mitrich
Сообщения: 37
Зарегистрирован: 21 фев 2024, 14:45

Блокировка данных таблицы в базе MS SQL

Сообщение Mitrich » 24 июл 2024, 10:33

День добрый, уважаемые коллеги!

Столкнулись с ситуацией, когда происходит блокировка записей таблицы в базе данных MS SQL Server при открытии пространственных данных с использованием запроса.
Например у нас имеется 3 таблицы
- LINVOBJ - таблица с пространственными данными
- DIC_NPA - справочник
- DIC_CLASSIFY 0 справочник

При открытии данных из базы с созданием связанной таблицы по запросу
Select O.ID, N.NAME NPA_NAME, C.NAME CL_NAME, O.SP_GEOMETRY, O.MI_STYLE
From LINVOBJ O
LEFT OUTER JOIN DIC_NPA N ON N.ID = O.NPA
LEFT OUTER JOIN DIC_CLASSIFY C ON C.ID = O.CLASSIFY
данные корректно открываются, но при этом таблица LINVOBJ блокируется для изменений.

Например запрос UPDATE LINVOBJ SET CLASSIFY=13 WHERE ID = 10 будет ожидать закрытия связанной таблицы.

Блокировка данных происходит под Astra Linux и под Windows.
Аватара пользователя
Александр
Сообщения: 500
Зарегистрирован: 18 апр 2019, 11:21

Re: Блокировка данных таблицы в базе MS SQL

Сообщение Александр » 28 июл 2024, 20:06

Мы провели проверку и создали таблицы, а также выполнили запрос, аналогичный вашему, с использованием двух операторов LEFT JOIN.
Результаты показали, что блокировок на наших данных не зафиксировано.

При выполнении операций чтения, как в режиме прямого доступа, так и в режиме локальной копии, выполняется запрос SELECT.
Такой запрос не требуют эксклюзивного доступа к данным и не блокирует таблицу.
Ответить