powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Пара вопросов по блокировкам
2 сообщений из 2, страница 1 из 1
Пара вопросов по блокировкам
    #32066051
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Прочитал пор блокировки в связи с чем у меня возникла пара вопросов.

1. Как я понял, есть такая вещь, как коллективные блокировки (Shared). Как сказано в книжке, этот тип блокировок накладывается при операциях чтения данных, таких как SELECT. При этом SQL Server гарантирует, что пока стоит эта блокировка данные не изменятся.

У меня есть запрос, который делает данные отчет по таблице - нечто вроде select sum(), sum() from ... group by ... Этот запрос выполняется где-то около 30 секунд. То есть, если я правильно понял, в течении этих 30 секунд данные в этой таблице изменить никто не сможет ?
А можно ли этому помешать - запретить ставить блокировку на этот запрос ?

2. На какое время ставятся коллективные блокировки ? Если мой select выполняется на сервере 30 секунд и еще 30 секунд данные fetch-ся на клиент, на какой период была поставлена блокировка - 30 секунд или 1 минута (30+30) ?

Заранее благодарен.
...
Рейтинг: 0 / 0
Пара вопросов по блокировкам
    #32066063
Фотография Белов Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2. Совершенно правильно.
Чтобы "снять" этот запрет, то пиши
select sum(...), sum(...)
from <table_name> with (nolock)

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


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