Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Блокировка базы данных  [new]
Eugene Zubritsky
Member

Откуда: Kiev, Ukraine
Сообщений: 10
Доброе время суток.

Подскажете решение для блокировки доступа к базе данных из клиента для осуществления критичной транзакции.

Фактически надо перевести базу в read-only или заблокировать доступ, при этом учтя то, что уже существуют коннекты (которым тоже необходимо заблокировать или ограничить доступ).

Я предполагал использовать sp_dboption 'db_name', 'single user', 'true', но судя по всему данный метод не отрабатывает все условия, а именно - уже существующие соединения имеют возможность модифицировать данные.
21 янв 04, 12:01    [500518]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка базы данных  [new]
bitman
Member

Откуда: MSK
Сообщений: 82
отключите существующие соединения


kill 55 -- тут надо номер процесса из sysprocesses



--
Life is life!
21 янв 04, 12:11    [500552]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка базы данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
Я предполагал использовать sp_dboption 'db_name', 'single user', 'true', но судя по всему данный метод не отрабатывает все условия, а именно - уже существующие соединения имеют возможность модифицировать данные.

Вообще-то в single user mode остается только ОДНО соединение. Поэтому непонятно почему вы говорите про множество соединений остающихся у вас после включения данного режима.
Возможно вам нужен режим RESTRICTED_USER ?
21 янв 04, 12:22    [500585]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка базы данных  [new]
Eugene Zubritsky
Member

Откуда: Kiev, Ukraine
Сообщений: 10
2bitman:
Имеется ввиду "оключение" всех процессов кроме текущего до изменения режима DB? Где то так и происходит. Перед изменением надо оборвать все соединения.

2Glory:
Просто невозможно включить режим single user при наличии соединений с DB...
RESTRICTED_USER - как можно использовать в конкретной ситуации?
21 янв 04, 12:35    [500614]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка базы данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
Команда
ALTER DATABASE mydatabase  SET SINGLE_USER WITH ROLLBACK AFTER 60 SECONDS 

невозможна ?
21 янв 04, 12:39    [500623]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка базы данных  [new]
Eugene Zubritsky
Member

Откуда: Kiev, Ukraine
Сообщений: 10
2Glory:
Буду пробовать. Спасибо.
Правда для этого необходимо выдавать дополнительные привилегии... :-)
21 янв 04, 13:15    [500720]     Ответить | Цитировать Сообщить модератору
 Re: Блокировка базы данных  [new]
Crip
Member

Откуда:
Сообщений: 2490
А можно поинтересоваться что это за такая критичная транзакция и чем плох перевод уровня изоляция в serializable?
21 янв 04, 13:55    [500821]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить