Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли пропускать заблокированные записи? / 6 сообщений из 6, страница 1 из 1
29.12.2018, 13:00
    #39754889
K-Nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли пропускать заблокированные записи?
Доброе время суток.
У меня поверхностное знание SQL, поэтому заранее прошу прощения, если вопрос глупый.
Есть таблица на SQL-сервере (2012), отдельные записи которой периодически редактируются пользователями. Для редактирования используется MS Access (2010). Записей несколько сотен, пользователей несколько десятков, поэтому постоянно какое-то количество записей заблокировано. Несколько раз в день хранимая процедура с помощью запроса UPDATE должна обновить пару полей во всех записях таблицы. Т.к. есть заблокированные записи, то этот процесс зависает надолго. Но обновление всех записей не является обязательным. Можно ли каким-либо образом пропускать заблокированные записи?
Заранее благодарен.
...
Рейтинг: 0 / 0
29.12.2018, 13:24
    #39754908
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли пропускать заблокированные записи?
Чтобы не было блокировок, нужно:
1. дочитывать читающие датасеты до конца (в некот. случаях они зачитаны частично и висит т.н. блокировка чтения).
2. не использовать "длинные" транзакции при редактировании.
...
Рейтинг: 0 / 0
29.12.2018, 13:31
    #39754916
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли пропускать заблокированные записи?
придётся вам отказаться от серверного курсора и перейти на клиентский в вашем приложении на акцесс.
прямое редактирование прилинкованных таблиц SQL - это корень ваших проблем.
...
Рейтинг: 0 / 0
29.12.2018, 13:56
    #39754932
Mr. X
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли пропускать заблокированные записи?
K-Nick,

Можно, есть особенности https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table?view=sql-server-2017
see READPAST
...
Рейтинг: 0 / 0
29.12.2018, 14:02
    #39754936
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли пропускать заблокированные записи?
K-NickМожно ли каким-либо образом пропускать заблокированные записи?Можно, но без 100% гарантии.
Примерно так:
Код: sql
1.
2.
3.
4.
5.
6.
update Таблица with (readpast)
 set
  Поле1 = ...,
  Поле2 = ...
where
 ...


В where нужно написать любое фейковое условие, включающее любой столбец таблицы, которое всегда будет истинным.
Например, если в Поле1 не может быть отрицательных значений, то - Поле1 >= 0
...
Рейтинг: 0 / 0
29.12.2018, 14:57
    #39754965
K-Nick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли пропускать заблокированные записи?
Спасибо!
Всех с наступающим Новым Годом!
После праздников буду пробовать.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно ли пропускать заблокированные записи? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]