Baza danych „XXX” jest w fazie przejściowej. Wypróbuj oświadczenie później


27

Próbuję połączyć się z bazą danych serwera SQL, otrzymuję ten błąd

Database 'XXX' is in transition. Try the statement later.

anulowałem dzisiaj długie zapytanie, ale z jakiegoś powodu nie mogę odzyskać bazy danych. Czy jest coś, co mogę zrobić?


4
Przy takim pytaniu naprawdę powinieneś sprecyzować, jaki serwer SQL i jego wersja. Zgaduję, że masz na myśli jeden z serwerów Microsoft SQL, ale nie powinniśmy zgadywać.
John Gardeniers

Sprawdź to. To zadziałało dla mnie. stackoverflow.com/a/27036481/4273753

Odpowiedzi:


40

Może się to czasem zdarzyć, jeśli spróbujesz przełączyć bazę danych w tryb offline lub wykonać pewne inne operacje, które się nie powiedzie. Czasami blokadę można usunąć, jeśli zamkniesz instancję SSMS, która podjęła próbę operacji, a następnie ponownie ją otworzysz. Zamknij i ponownie otwórz wszystkie instancje SSMS podłączone do serwera.

Może się również zdarzyć, jeśli spróbujesz przełączyć bazę danych w tryb offline, gdy uruchomione jest długie zapytanie. Sprawdź monitor aktywności i spróbuj zabić wszelkie długotrwałe zapytania, jeśli mają one zastosowanie i są bezpieczne.

Jeśli żadna z powyższych czynności nie działa, zamknij wszystkie instancje SSMS, a następnie uruchom ponownie SQL za pomocą SQL Server Configuration Manager. Zwykle to wyleczy, chociaż DB może początkowo być w trybie odzyskiwania.


To jest takie dziwne. Czy wiesz, dlaczego tak się dzieje?
Krismorte

11

O dziwo, naprawiłem ten problem, po prostu zamykając SSMS i otwierając ponownie.


zbyt łatwe. pracował dla mnie.
greg121

Zamykanie SSMS i ponowne otwarcie również działało dla mnie.
Michael Bollhoefer,


1

W SQL Server Management Studio dostępna jest opcja przełączania bazy danych online / offline. Ale potrzebuje pozwolenia administracyjnego.

Aby uzyskać do niego dostęp, kliknij bazę danych prawym przyciskiem myszy -> Zadania -> Przejdź do trybu online.


0

Wiem, że już na nie odpowiedziano, ale po prostu dodać; jeśli sytuacja jest taka, że ​​próbujesz przełączyć ją w tryb offline, a następnie się nie powiedzie, możesz spróbować zabić identyfikator SPID, który próbuje zmienić stan bazy danych.

Wykonaj sp_who lub sp_who2 i znajdź SPID, który obraca się na DB, próbując przełączyć bazę danych w tryb offline. ZABIJ ten SPID, a pozostaniesz z bazą danych online lub offline, która NIE jest w stanie przejściowym.

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.