Nie można zalogować się do SQL Server w trybie pojedynczego użytkownika

9

Próbowałem różnego rodzaju różnych kombinacji flag uruchamiania do SQL Server 2008 R2 Express i nie mogę przejść przez ten błąd:

Logowanie nie powiodło się dla użytkownika „LOCALSERVER \ Administrator”. Powód: Serwer jest w trybie pojedynczego użytkownika. W tej chwili może się połączyć tylko jeden administrator. (Microsoft SQL Server, błąd: 18461)

Próbowałem uruchomić go w trybie pojedynczego użytkownika zarówno, -m"SQLCMD"a -m"sqlcmd"Iv'e nawet próbował uruchomić go -m"Microsoft SQL Server Management Studio - Query"i nawiązać połączenie z odpowiednimi klientami ZAWSZE dostaję ten błąd. Jestem w 99% pewien, że nic innego nie kradnie mojego połączenia, a podczas łączenia się z SSMS upewniam się, że zastosowałem „nową metodę zapytania-połączenia”, aby upewnić się, że używa tylko jednego połączenia.

Czy ktoś jeszcze miał ten problem? Jak to naprawić i zalogować się?

Earlz
źródło

Odpowiedzi:

16

Oto rozwiązanie, które właśnie znalazłem dla tego starego problemu:

  1. Zatrzymaj wszystkie usługi SQL
  2. Zacznij od -m
  3. Uruchom MSSQL Management Studio jako administrator

Jeśli nie zostałem uruchomiony jako administrator (jak ja nie byłem), otrzymasz ogólny, że administrator już się łączy. Zamiast mówić, że nie możesz się połączyć, ponieważ nie jesteś administratorem.

Kolejny mylący błąd Microsoft. Podejrzewam, że ten sam problem będzie istniał również w przypadku sqlcmd

pozdrowienia

Liam

Liam Wheldon
źródło
3
Uruchamianie SSMS jako Administrator jest dość ważnym punktem. Bez tego nie działałoby dla mnie.
MrEdmundo,
Ugg, to uruchamianie jako administrator jest uciążliwe. nawet nie musiałem przechodzić w tryb -m.
Omzig
9

Mimo że Microsoft powiedział inaczej , nie powinieneś cytować po -m. W przypadku SQLCMD zrobiłbyś to -mSQLCMD. Nigdzie tego nie widziałem, więc udokumentuję to tutaj. Jeśli nic innego nie działa, spróbuj nie cytować tego.

Earlz
źródło
1
To był absolutnie 100% problem, który miałem. sqlcmd zadziałało natychmiast po tym.
hlmtre
@Ellz: Nieusunięcie znaków cudzysłowu było absolutnie dokładnie moim problemem. (I prawdopodobnie uratowałem mi cały dzień pracy - dziękuję!)
techvslife
2

Po -m nie powinno być nic. Składnia powinna wyglądać następująco:

sqlservr.exe -c -f -m 

Następnie należy zalogować się do instancji za pomocą narzędzia sqlcmd i wprowadzić niezbędne zmiany. Jeśli spróbujesz użyć programu SQL Server Management Studio do zalogowania się, nie będzie to możliwe, ponieważ SSMS wymaga kilku połączeń do zalogowania się.

mrdenny
źródło
-m może być opcjonalnie dodany przez „nazwę klienta”, w moim przypadku musiałem to mieć sqlcmd, ponieważ inne rzeczy próbowałyby się połączyć i ukraść moje połączenie.
Earlz
Dzięki, to była właściwa odpowiedź dla mnie z SQL Server 2012. Zatrzymaj / wyłącz inne usługi SQL i uruchom SSMS jako administrator.
Noah Stahl
0

Właśnie miałem dokładnie ten problem i wszystko, co musiałem zrobić, to:

  • Zatrzymaj główną usługę SQL dla mojej instancji.
  • Zacznij to.

Ponownie podłączyłem przeglądarkę SQL i znów działała. Dlatego zamiast próbować wszystkich dodatkowych kroków, ludzie powinni naprawdę wypróbować najprostsze podejście, które działa najpierw, zanim przejdą do bardziej dokładnych prób.

Katastic Voyage
źródło
-3

Zmiana Kontroli konta użytkownika na „Nigdy nie powiadamiaj” rozwiązała problem

Gerhard Powell
źródło
Dlaczego opinie negatywne, gdy jest to rozwiązanie, które działa?
Gerhard Powell,
Ludzie oddający głos powinni wyjaśnić, dlaczego nie jest to dobra odpowiedź. W przeciwnym razie opinia negatywna jest bezużyteczna jako zła odpowiedź.
K_Rol