Блокировка данных таблицы в базе MS SQL
Добавлено: 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.
Столкнулись с ситуацией, когда происходит блокировка записей таблицы в базе данных 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.