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

Откуда:
Сообщений: 26
собственно вопрос в теме, может кто знает с помощью какой процедуры это сделать?
14 май 13, 14:11    [14292779]     Ответить | Цитировать Сообщить модератору
 Re: Программно отключить соединения с базой данных?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Соединение есть с сервером, а не с базой
Команда KILL может прервать соединение. При выполнении условий описанных в документации
14 май 13, 14:17    [14292862]     Ответить | Цитировать Сообщить модератору
 Re: Программно отключить соединения с базой данных?  [new]
qwerty112
Guest
nickalaus
собственно вопрос в теме, может кто знает с помощью какой процедуры это сделать?

"соединения с базой данных" кого/чего нужно "Программно отключить" ?

а в 1-ом приближении - KILL
14 май 13, 14:18    [14292868]     Ответить | Цитировать Сообщить модератору
 Re: Программно отключить соединения с базой данных?  [new]
nickalaus
Member

Откуда:
Сообщений: 26
exec sp_detach_db 'gg_ts', 'true'

вот такой код не хочет отрабатывать, пишет к базе данных подключены пользователи.
если делать отсоединение базы данных через энтэрпрайс мэнэджер то спрашивает то же самое но там присутствует кнопка "Clear"
и с помощью ее снимаются все подключения, как такой финт можно провернуть программно?
14 май 13, 14:19    [14292875]     Ответить | Цитировать Сообщить модератору
 Re: Программно отключить соединения с базой данных?  [new]
ambarka_max
Member

Откуда: Россия
Сообщений: 517
автор
но там присутствует кнопка "Clear"

Есть волшебная утилита, называется Profiler. В том гробу твоя С помощью него можно узнать много интересного.
14 май 13, 14:21    [14292901]     Ответить | Цитировать Сообщить модератору
 Re: Программно отключить соединения с базой данных?  [new]
Glory
Member

Откуда:
Сообщений: 104751
nickalaus
и с помощью ее снимаются все подключения, как такой финт можно провернуть программно?

изучить команду ALTER DATABASE
14 май 13, 14:22    [14292917]     Ответить | Цитировать Сообщить модератору
 Re: Программно отключить соединения с базой данных?  [new]
nickalaus
Member

Откуда:
Сообщений: 26
гуру СКЛ сжальтесь приперло и некогда профайлер смотреть
14 май 13, 14:23    [14292922]     Ответить | Цитировать Сообщить модератору
 Re: Программно отключить соединения с базой данных?  [new]
nickalaus
Member

Откуда:
Сообщений: 26
Glory
изучить команду ALTER DATABASE


пни в нужном направлении какую опцию данной команды юзать?
14 май 13, 14:30    [14293000]     Ответить | Цитировать Сообщить модератору
 Re: Программно отключить соединения с базой данных?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
nickalaus
Glory
изучить команду ALTER DATABASE


пни в нужном направлении какую опцию данной команды юзать?

ALTER DATABASE db_name SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
14 май 13, 14:35    [14293046]     Ответить | Цитировать Сообщить модератору
 Re: Программно отключить соединения с базой данных?  [new]
nickalaus
Member

Откуда:
Сообщений: 26
ALTER DATABASE db_name SET SINGLE_USER WITH ROLLBACK IMMEDIATE;


спасибо огромное, и еще вопрос SET MULTI_USER нужен или после восстановления БД сама переходит в данный режим. почему сейчас спрашиваю нет возможности проверить только завтра. еще раз спасибо и тебе и глори

use master
go
ALTER DATABASE gg_ts
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE
go
exec sp_detach_db 'gg_ts', 'true'
go
RESTORE FILELISTONLY
FROM DISK = 'c:\backupdb\backupGGTS.bak'
RESTORE DATABASE gg_ts
FROM DISK = 'c:\backupdb\backupGGTS.bak'
WITH MOVE 'gg_ts' TO 'c:\Program Files\Microsoft SQL Server\MSSQL$TEST\Data\gg_ts.mdf',
MOVE 'gg_ts_log' TO 'c:\Program Files\Microsoft SQL Server\MSSQL$TEST\Data\gg_ts_log.ldf',
REPLACE
go

ALTER DATABASE gg_ts
SET MULTI_USER
14 май 13, 14:55    [14293210]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить