2013-09-26 19 views
25

Zazwyczaj używam programu SQL Server 2012 Management Studio do przywracania bazy danych SQL Server z pliku "bak". Robię to przez nadpisanie istniejącej bazy danych. Na stronie "Opcje" znajduje się pole wyboru "Zamknij istniejące połączenia z docelową bazą danych", które głównie sprawdzam, ponieważ docelowa baza danych jest zawsze "używana", nawet jeśli po prostu ponownie uruchomiłem usługę MS SQL i jestem że nie ma żadnych aplikacji, które go używają.Dlaczego "zamknięte istniejące połączenia z docelową bazą danych" są wyszarzone w SQL Server 2012 Management Studio?

W każdym razie na komputerze mojego klienta zobaczyłem, że to pole wyboru do zamykania istniejących połączeń jest wyszarzone bez żadnych informacji. Jak i dlaczego tak się dzieje? Wyszukiwanie google nie przyniosło żadnych wyników.

+0

Próbujesz odtworzyć bazę danych, która jeszcze nie istnieje? Lub to jest obecnie offline? –

+1

Edytowałem moje pytanie, aby było bardziej zrozumiałe. Nie, staram się przywrócić bazę danych w istniejącej bazie danych. Przy okazji, jestem w stanie przywrócić DB, jeśli najpierw wybiorę docelowy DB offline. Ale nigdy wcześniej nie musiałem robić takich rzeczy i jest dla mnie tajemnicą, dlaczego pole wyboru "zamknij istniejące połączenia" jest wyłączone. – schlingel

+2

Myślę, że to błąd w interfejsie użytkownika. Po odrobinie zabawy udało mi się go wyszarzyć, ale nadal "sprawdziłem". Wykonanie przywracania wydawało się tym razem zamknąć połączenia. –

Odpowiedz

2

może się zdarzyć, jeśli przywrócenie z wersji mniej niż w 2012 roku, na przykład próbując przywrócić bazy danych SQL Server 2005 przy użyciu SSMS 2012.

+2

nie, przywracam od wersji 2012 do wersji 2012. W rzeczywistości jestem tym, który je zainstalował :) – schlingel

+1

Mam ten sam problem co @schlingel. Nie twierdzę, że twoja odpowiedź jest błędna (wiem, że może to być spowodowane przywracaniem różnych wersji kopii zapasowych), jednak nie dotyczy to mnie. Zarówno serwer kopii zapasowych, jak i docelowy są w 2012 roku, a obie bazy danych mają ustawioną zgodność na 2012 rok. Jakieś pomysły? –

1

samo stało się tutaj z serwerem i 2014 Management Studio. Mogę ustawić bazę danych na tryb pojedynczego użytkownika w obszarze właściwości bazy danych/Opcje/Stan/Ogranicz dostęp. Dla mnie został on przywrócony do trybu wielu użytkowników automatycznie po przywróceniu.

33

Miałem ten sam problem. Po prostu zaznaczyłem pole wyboru PRZED wyborem źródła, z którego można przywrócić. Po wybraniu źródła CB było szare, ale sprawdzone i przywracanie działało dobrze.

+0

może być dobrą radą. niestety mój projekt został zakończony i nie mam dostępu do komputera mojego klienta, więc nie mogę zweryfikować tego rozwiązania. – schlingel

+2

Wielka sugestia .. Pomogła mi –

+2

Tak prosta, ale rozwiązała to dla mnie. Dzięki – Aureliink

0

Restart Serwer SQL (MSSQLSERVER) usługa i spróbuj odtworzyć. Nie jest to świetne rozwiązanie, ale czasami działa.

+0

Jedynym powodem, dla którego to wydaje się działać, jest to, że wyrzuca wszystkich z bazy danych. Lepszym sposobem jest wydanie ALTER DATABASE SET OFFLINE WITH ROLLBACK IMMEDIATE, co zapobiegnie nowym połączeniom z docelową bazą danych podczas jej przywracania. –

+0

Dobrze. jak powiedziałem - nie jest to świetne rozwiązanie. – RoyBS

2

kliknij prawym przyciskiem myszy na bazie danych-> właściwości-> Opcje-> zmień statystyki automatycznej aktualizacji Asynchronicznie na fałsz. będzie rozwiązać bliskie istniejące połączenia do bazy docelowej wyszarzone problem

Mam nadzieję, że to pomoże