Отключение/подключение пользователей T-SQL

Март

Привет всем.Стоит такая задача с использованием T-SQL:1. Дать исполниться всем запросам пользователей (только select).2. Отключить всех подключенных пользователей.3. Не допускать подключение пользователей с уведомлением.3. Обновить данные.4. Подключить пользователей обратно.Это с периодичность 1 раз в час.
12 ответов

Март

Для отключения/разрешения подключения пользователей смотрим BOL на предмет
ALTER DATABASE database_name SET ...
Вот тока вопрос, обязательно всех отключать, чтоб пункт 4 выполнить?


Март

Отключать, кроме тех с машин которых запускаются парсинги.


Март

Опишите что-надо сделать, а нето как вы это хотите реализовать.


Март

Поставь сервер в паузу (такое спец. состояние у сервиса есть), MSSQL это поддерживает. И все.


Март

А как определить какие запросы исполняются в данный момент?


Март

Перевод сервера в паузу не отключит существующие подключения, а только запретит новые подключения.


Март

Поставь сервер в паузу (такое спец. состояние у сервиса есть), MSSQL это поддерживает. И все.
Сервер нельзя ставить в паузу, т.к. на нем другие задачи еще крутятся.


Март

Привет всем.Стоит такая задача с использованием T-SQL:1. Дать исполниться всем запросам пользователей (только select).2. Отключить всех подключенных пользователей.3. Не допускать подключение пользователей с уведомлением.3. Обновить данные.4. Подключить пользователей обратно.Это с периодичность 1 раз в час.
Всегда делалось так
alter database <db>
set single_user with rollback immediate
go
//Здеся скрипт обновления
go
alter database <db>
set multi_user 
go


Март

Опишите что-надо сделать, а нето как вы это хотите реализовать.
Задача построения бюджета активов и пассивов. Из учетной системы выгружаются остатки по счетам и сделки, чтобы получить состояние активов и пассивов. Каждый час с учетной системы снимается слепок и заносится в систему управленческого учета. В момент переноса нового слепка нужно отключать пользователей, т.к. перенос производится группой вставкой.


Март

Может быть проще на время переноса (создания снимка) заблокировать таблицы, осуществить перенос, "снять" блокировку таблиц


Март

Задача построения бюджета активов и пассивов. Из учетной системы выгружаются остатки по счетам и сделки, чтобы получить состояние активов и пассивов. Каждый час с учетной системы снимается слепок и заносится в систему управленческого учета. В момент переноса нового слепка нужно отключать пользователей, т.к. перенос производится группой вставкой.
Да уж, чтоб для таких операций пользователей отключать... Читаем про механизм блокировок и транзакций сиквела.


Март

Ок. Спасибо.