Jak wymusić przejście bazy danych SQL Server 2008 do trybu offline


106

Jak zmusić moją bazę danych do przejścia w tryb offline, bez względu na to, co lub kto już z niej korzysta?

Próbowałem:

ALTER DATABASE database-name SET OFFLINE;

Ale nadal wisi po 7 min.

Chcę tego, ponieważ muszę przetestować scenariusz.

Jeśli to w ogóle możliwe?

Odpowiedzi:


186

Wylogować się

USE master
GO
ALTER DATABASE YourDatabaseName
SET OFFLINE WITH ROLLBACK IMMEDIATE
GO

W trybie online

USE master
GO
ALTER DATABASE YourDatabaseName
SET ONLINE
GO

8
@radbyx: MSDN mówi, aby używać masterpodczas obsługi stanu DB
abatishchev

17
@radbyx: Jeśli KORZYSTASZ MOJA_BAZĘ DANYCH, wówczas ALTER DATABASE MY_DATABASE SET OFFLINE nie powiedzie się, ponieważ jej używasz! Tak, właśnie to mnie
ukąsiło

10
Nie działa dla mnie: Msg 5061, poziom 16, stan 1, wiersz 1 ALTER DATABASE nie powiodło się, ponieważ nie można było umieścić blokady w bazie danych „Moja baza danych”. Spróbuj ponownie później. Msg 5069, poziom 16, stan 1, wiersz 1 Instrukcja ALTER DATABASE nie powiodła się.
Andez,

6
Widziałem sytuacje, w których nadal musisz użyć `` sp_who2 active '' / `` sp_whoisactive '', aby zobaczyć niektóre uparte połączenia z maszyn do zaplanowanych zadań lub rzeczy o średniej wartości i uruchomić KILL z numerem SPID, aby się ich pozbyć
Chris Wood

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.