В этой статье говорили о тесной связи базы данных MS SQL Server не относится к использованию MS SQL Server Management Studio, чтобы закрыть окно уже подключен.
Таким образом, некоторые соединения не могут быть закрыты, например, подключение к базе данных MS SSMS генерируется Java JDBC или другой клиент не может закрыть.
1. Что запрос к базе данных указывает на связь (соединение)
ВЫБЕРИТЕ * ОТ [ Master ] . [ DBO ] . [ SYSPROCESSES ] ГДЕ [ DBID ] ИН ( ВЫБОР [ DBID ] ОТ [ Мастер ] . [ DBO ] . [ SYSDATABASES ] ГДЕ NAME = ' Test ' - - "Тест" Вы назвать запрос к базе данных )
2. поиск по всей базе данных системы для всего числа подключений к базе данных, статистики пакетов, чтобы показать путь.
выберите db_name (DBID) как [ Имя базы данных ] , подсчитывать (DBID) , как [ Нет соединения ] , loginame , как [ Войти Имя ] от sys.sysprocesses где DBID > 0 группы по DBID, loginame
3. Для того, чтобы закрыть соединение с указанной базой данных
установить NOCOUNT на объявить @databasename VARCHAR ( 100 ) объявить @query VARCHAR ( макс ) набор @query = '' установлен @databasename = ' пробный ' - «тест»为数据库的名字 , если db_id ( @databasename ) < 4 начать печать ' подключение к базе данных системы не может быть killeed ' обратный конец выберите @query = COALESCE ( @query, ' ' ) + ' Убить ' + конвертировать ( VARCHAR , ИСП) + ' ; ' От master..sysprocesses где DBID = db_id ( @databasename ) если Len ( @query ) > 0 начать печать @query Exec ( @query ) конец