Aby definitywnie usunąć bazę danych z serwera nie może ona być w użyciu. Czyli wszystkie aktywne połaczenia
muszą być zamknięte. Jaka jest instrukcja w T-SQLu zamykająca wszystkie aktywne połączenia do wybranej bazy?
Szukałem w różnych żródłach i nie mogę tego znaleźć.
Managment Studio tworzy taki kod:
EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'test4'
GO
USE [master]
GO
/******Object: Database [test4] Script Date: 07/29/2011 13:10:48******/
DROP DATABASE [test4]
GO
Ale to nie działa, nie są zamykane aktywne połączenia w związku z czym bazki nie da się usunąć z serwera.
Przestać korzystać z bazy w aplikacji i poczekać aż połączenia wygasną.
Przestawić bazę w tryb SINGLE_USER.
W przypadku drugim, o ile wiem, istotne jest z jakiego konta program dostaje się do bazy. Nic nie wskórasz włączając SINGLE_USER, jeśli korzystasz z tego samego konta, co aplikacja. Chyba.