Может ли соединение данных Excel заблокировать таблицу БД? - PullRequest
1 голос
/ 18 января 2009

Если я добавлю простое подключение к данным таблицы Sql Server на лист Excel, сможет ли оно заблокировать эту таблицу, если соединение никогда не будет закрыто?

Ответы [ 3 ]

1 голос
/ 20 января 2009

Хотя я думаю, что можно заблокировать таблицу, я бы сказал, что Excel обычно этого не делает, так как вы выбираете только данные. Если вы попытаетесь что-то обновить, обязательно заблокируете базовую таблицу, но пока вы только просматриваете данные, у вас все будет в порядке.

Чтобы убедиться, почему бы просто не провести некоторое тестирование для таблицы с меньшим количеством пользователей в системе или для таблицы в другой БД, которая настроена таким же образом? Затем вы можете использовать SP_LOCK на сервере SQL, чтобы узнать, заблокировало ли ваше подключение к Excel таблицу, или вы можете попробовать выполнить другой запрос к вашей таблице, чтобы проверить, не заблокирована ли она.

1 голос
/ 07 июня 2012

Аналогичный вопрос задавался на форумах Microsoft. Согласно этому сообщению, по умолчанию Excel запрашивает полную блокировку строк в таблице. Так что да, это может заблокировать стол.

В посте MSDN обсуждаются различные уровни изоляции, доступные в SQL 2005, так что это может оказаться полезным, если вы используете эту версию.

Аналогичный вопрос по MSDN

Уровни изоляции на MSDN

Подробнее об уровнях изоляции

1 голос
/ 18 января 2009

Обычный ответ: да, но это зависит от обстоятельств ...

.. в основном от того, какую стратегию блокировки использует ваша база данных (опять же, в зависимости от конфигурации). Я предполагаю, что Excel откроет «обычное» соединение с базой данных. Если вы сейчас запросите таблицу, это может уже заблокировать таблицу, если у вас есть стратегия пессимистической блокировки.

Надеюсь, что это поможет .. Существует масса информации о блокировке, связанной со многими системами баз данных.

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