W tej chwili tylko jeden administrator może się połączyć (błąd MS SQL Server 18461)

14

Eksperymentowałem z efektem, który dał SQL Serverowi niewielką ilość pamięci, o której myślałem, że się odzyska.

Skonfigurowałem SQL Server do używania 200 MB pamięci, teraz nie chce się uruchamiać, przeprowadziłem kilka wyszukiwań w Internecie i doradzono mi, aby uruchomić SQL Server w trybie pojedynczego użytkownika. dostaję jednak błąd

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

wprowadź opis zdjęcia tutaj

Zatrzymałem agenta SQL Server.

CodeWi
źródło
2
Dlaczego tylko 200 MB pamięci ?, potrzebujesz co najmniej 512 MB na edycję ekspresową. msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx#pmosr
McNets

Odpowiedzi:

23

Jeśli uruchomisz SQL Server w trybie pojedynczego użytkownika, tylko jeden administrator może połączyć się w tym samym czasie.

Prawdopodobnie dzieje się tutaj to, że niektóre usługi używają loginu sysadmin do łączenia się, takie jak usługi raportowania lub agent SQL Server.

Podczas uruchamiania programu SQL Server w trybie pojedynczego użytkownika istnieje możliwość określenia aplikacji klienckiej, aby tylko ta aplikacja mogła się połączyć.

Spójrz na opcje wiersza poleceń, w których znajduje się lista:

-m „Nazwa aplikacji klienta”

Korzystając z opcji -m z SQLCMD lub SQL Server Management Studio, można ograniczyć połączenia z określoną aplikacją kliencką. Na przykład -m „SQLCMD” ogranicza połączenia do pojedynczego połączenia i połączenie to musi identyfikować się jako program kliencki SQLCMD. Użyj tej opcji, jeśli uruchamiasz SQL Server w trybie pojedynczego użytkownika, a nieznana aplikacja kliencka przejmuje jedyne dostępne połączenie. Aby połączyć się za pomocą edytora zapytań w Management Studio, użyj -m „Microsoft SQL Server Management Studio - Zapytanie”.

W nazwie aplikacji klienta rozróżniana jest wielkość liter.

Jeśli możesz połączyć się w ten sposób, zmień maksymalną pamięć serwera na coś rozsądnego. Przypuszczam, że będziesz w stanie się połączyć, ponieważ w przeciwnym razie prawdopodobnie otrzymasz coś w stylu „nie ma procesu na drugim końcu potoku”, więc zakładam, że Twój serwer działa.

Jeśli jednak nie możesz zalogować się do programu SQL Server, ponieważ konfiguracja pamięci na to nie pozwala, możesz uruchomić program SQL Server w minimalnej konfiguracji za pomocą tej -fopcji.

-fa

Uruchamia wystąpienie programu SQL Server przy minimalnej konfiguracji. Jest to przydatne, jeśli ustawienie wartości konfiguracyjnej (na przykład nadmierna pamięć) uniemożliwiło uruchomienie serwera. Uruchomienie programu SQL Server w trybie konfiguracji minimalnej powoduje, że program SQL Server jest w trybie pojedynczego użytkownika. Aby uzyskać więcej informacji, zobacz opis dla -m poniżej.

Dla odniesienia: SQL Server nie może się uruchomić po przypadkowym ustawieniu „maksymalnej pamięci serwera” na 0

Tom V - spróbuj topanswers.xyz
źródło
7
  • Uruchom wystąpienie SQL w trybie konfiguracji minimalnej

    NET START MSSQLSERVER /f
  • Połącz się z instancją z tego samego okna cmd i zmień ustawienie Max memory:

    SQLCMD -S Server/Instance -E

    Powinien pojawić się następujący monit:

    1> 

Domyślnie ustawienie maksymalnej pamięci może być niedostępne do przeglądania i zmiany. Aby zmodyfikować to zachowanie, użyj poniższego zapytania:

sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE;  
GO  
sp_configure 'max server memory', 4096;  
GO  
RECONFIGURE;  
GO  

Uruchom ponownie instancję z programu Menedżer konfiguracji.

Ramakant Dadhichi
źródło
najlepsze rozwiązanie dla <SQL Server nie może się uruchomić po przypadkowym ustawieniu „maksymalnej pamięci serwera” na 0> i „błąd nie ma procesu na drugim końcu potoku” błąd
faza
-1

Napotkałem podobny problem. Udało mi się to rozwiązać, zatrzymując „SQL Server (MSSQLSERVER)”, a następnie ponownie go uruchamiając. Po ponownym uruchomieniu procesu udało mi się połączyć bez żadnych problemów.

Neil
źródło
-1

Był w stanie otworzyć okno edytora zapytań w SSMS po uruchomieniu SQL Server w trybie pojedynczego użytkownika. Zobacz: https://www.sqlservercentral.com/forums/topic/unable-to-open-ssms-in-single-user-mode

eon'
źródło
Powiązanie ze źródłem jest dobre, ale rozważ dodanie do odpowiedzi przynajmniej podsumowania proponowanego rozwiązania. W ten sposób odpowiedź pozostanie ważna nawet w przypadku utraty połączenia.
Andriy M.