powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Блокировки
8 сообщений из 8, страница 1 из 1
Блокировки
    #32010914
Pavel_f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При исполнении SELECT в процедурах по сборке данных для отчетов, вызываемых из одного приложения , таблицы на время исполнения селекта недоступны более актуальным процедурам (в основном - Insert) другого(основного) приложения.
Надо сделать так, чтобы процедуры основного приложения не запирались менее важными селектами приложения для отчетов.
Я на данный момент добавил в селекты WITH (NOLOCK). Но не уверен. Может нужно "WITH(ROWLOCK)" -? Подскажите,пожалуйста, каким образом правильно решить проблему? Заранее спасибо.
...
Рейтинг: 0 / 0
Блокировки
    #32010916
Фотография Extravert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NOLOCK, всё правильно.

Я думаю, что ROWLOCK напротив, заблокирует каждую строчку, отобранную для отчета.
...
Рейтинг: 0 / 0
Блокировки
    #32010920
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще SQL server по умолчанию обеспечивает 1-й уровень блокирования, так что если Вы просто читаете данные, они не блокируются и должны быть доступны для изменения, чтения и добавления новых записей другими транзакциями. В связи с этим лучше разобраться с уровнем блокирования, который Вы имеете на момент чтения(подозреваю, что ранее где-то установлено set transaction isolation level REPETABLE READ или SERIALIZABLE), хотя бы просто потому что этот уровень надо контролировать всегда.
...
Рейтинг: 0 / 0
Блокировки
    #32010929
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Slava
Не знаю что такое "1-й уровень блокирования" но по умолчанию в SQL server стоит isolation level REPETABLE READ.

2 Pavel_f
WITH (NOLOCK) должно помочь.
...
Рейтинг: 0 / 0
Блокировки
    #32010967
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FROM BOL

READ COMMITTED
Specifies that shared locks are held while the data is being read to avoid dirty reads, but the data can be changed before the end of the transaction, resulting in nonrepeatable reads or phantom data. This option is the SQL Server default.
Могу еще из книжки(хорошей) цитату привести.
...
Рейтинг: 0 / 0
Блокировки
    #32010972
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Slava

Сорри, у меня тут табличка с уровнями изоляции, когда писал не в ту ячейку глянул, причем по смыслу представлял именно READ COMMITTED. В общем прошу прощения

А что такой 1-й уровень блокирования, это откуда?

P.S. Что то стал много ошибаться в последнее время, однако
...
Рейтинг: 0 / 0
Блокировки
    #32011008
Slava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Про ошибки: "А Вы Гена на встречу не ходили? Пивко там не пили?" Это конечно шутка. Ошибки всегда и у всех бывают.
Ну нумерацию уровней я в книге("Microsoft SQL Server 2000 в подленнике") прочитал начинаются они с нуля. Это какая-то буржуйская организация так придумала.
Дак собственно ANSI и придумала.
To All. А согласитесь интересно получается, мы тут с Вами обсуждаем проблему а вопрошающий молчит.
...
Рейтинг: 0 / 0
Блокировки
    #32011018
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Про ошибки: "А Вы Гена на встречу не ходили? Пивко там не пили?" Это конечно шутка.
Бррр это конечно offtop но шутки не понял, вставте хоть слово "лопата" (это там где смеяться нужно), а то я совсем не понимаю причем здесь ошибки, пивко и шутка

p.s. А вопрошающий внял совету Extravert-а и вероятно работает себе дальше
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Блокировки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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