![]() |
|
Модераторы: Akina |
![]()
|
|
| марина |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 2.8.2006 Репутация: нет Всего: нет |
это 1-ый запрос
это 2-ой запрос
Надо сделать, чтобы при запуске 1-го запроса, 2-ой запрос блокировался до завершения 1-го. Те блокирующий select. Но что-то не получается, что не так в коде? |
||||
|
|||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 1 Всего: 44 |
COMMIT - закрывает транзакцию, и вместе с ней все блокировки.
+ MSSQL 2005 может работать как версионник(при определенных настройках), а версионники не блокируют "читателей" -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| марина |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 2.8.2006 Репутация: нет Всего: нет |
COMMIT - закрывает транзакцию, и вместе с ней все блокировки. - Да, но я установила задержку. И у меня во время этой задержки не должно быть доступа в той таблице над которой я применяю select.
+ MSSQL 2005 может работать как версионник(при определенных настройках), а версионники не блокируют "читателей" - а вот про это поподробней, что такое версионник и как с этим бороться я новичок и мне казалось что сам запрос пишу не верно. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
Я конечно не специалист по MS SQL, но почему одна читающая транзакция, должна блокировать другую читающую транзакцию?
По идее надо захватывать эксклюзивную блокировку на таблицу (если такое возможно). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| SergKO |
|
||||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 14.3.2005 Репутация: 17 Всего: 20 |
1-й запрос
2-й запрос
select по умолчанию накладывает shared блокировку, которая совместима с другими разделяемыми блокировками, с блокировками намерений, но не совместима с эсклюзивными блокировками, накладываемыми при апдейтах и вставках. Для того, чтобы select блокировал чтение необходимо использовать hint updlock. Очень интересная комбинация хинтов with(rowlock, updlock, readpast). Она позволяет блокировать доступ к записям, попадающим в условие отбора, но не препятсятвует чтению других записей. Блокируемые же записи просто не считываются. Поэкспериментируйте с такими запросами. 1-й
2-й
|
||||||||
|
|||||||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 1 Всего: 44 |
см. статью, она правда старая, но ... -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |