powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с блокировкой
7 сообщений из 7, страница 1 из 1
Помогите с блокировкой
    #32004390
Всех с рождеством

В stored procedure вставляются и изменяются записи.
Как сделать так, чтобы данные записи были не доступны на чтение, пока не произошла операция COMMIT TRAN.
Как я понимаю надо выставить какой-то хитрый уровень изоляции, вот только какой.

Спасибо
...
Рейтинг: 0 / 0
Помогите с блокировкой
    #32004392
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если их откроют на чтение ДО того, как ты заблокируешь .
...
Рейтинг: 0 / 0
Помогите с блокировкой
    #32004394
Думаю образутся очередь. :о)

Идея в том, что через определенное время мне необходимо подкачивать изменения в target таблицы. И делается это через процедуру. Если он пользователь записи до подкачки, то особенно не страшно, получит не обновленные данные.

Спасибо за ответ, но как то ожидалось чего то более по теме.
...
Рейтинг: 0 / 0
Помогите с блокировкой
    #32004401
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Как я понимаю надо выставить какой-то хитрый уровень изоляции, вот только какой.
REPEATABLE READ, синтаксиса как ставится не помню, а в BOL лень лезть, посмотрите сами
...
Рейтинг: 0 / 0
Помогите с блокировкой
    #32004402
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему, ты не доконца воспринял то, что я хотел сказать. Сама операция чтения возникает на доли секунды (ну, на секунды, отсилы). После чего сбуферизованное на клиенте содержимое набора записей лицезреют на клиенте, а блокировка уже снялась, в том числе Repeateble Read. Ты же, насколько я понял, хочешь, чтобы НА SCREEN-е ничего не высвечивалось. А у тех, у которых уже светится - чтобы погасло. Такие штуки делаются врукопашную. Тут раньше проскакивало обсуждение по взаимному влиянию клиентов друг на друга (по событиям). Вопрос это не такой простой, как может показаться. SQL-сервер не имеет встроенных средств для генерации некоторых событий на клиентах (кроме ошибок, которые кроме как событие ошибки больше никак не воспринимается, да и работать может только по инициативе клиента).
Получается, кроме соединения с сервером нужен отдельный COM-сервер для обмена сообщениями между всеми клиентами.
...
Рейтинг: 0 / 0
Помогите с блокировкой
    #32004403
Спасибо.
Как то все запутано с этими блокировками, никак понять не могу
...
Рейтинг: 0 / 0
Помогите с блокировкой
    #32004418
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 DmitryGolubev

Да ничего там не запутано

По умолчанию на сервере стоит уровень изоляции Read commited, т. е. ресурс блокируется только во время чтения, при этом используется shared lock. В случае REPEATABLE READ ресурс блокируется на время выполнения транзакции, чем выше уровень изоляции тем жестче блокировка. Почитайте в BOL Isolation levels.
Если все равно непонятно, опишите задачу, а мы вместе прикинем, что лучше сделать
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с блокировкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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