Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Ten artykuł zawiera informacje i kroki uruchamiania wystąpienia programu SQL Server w trybie pojedynczego użytkownika, co pozwala tylko jednemu użytkownikowi na łączenie się z wystąpieniem.
Uruchamianie wystąpienia w trybie pojedynczego użytkownika
Uruchomienie programu SQL Server w trybie pojedynczego użytkownika umożliwia każdemu członkowi lokalnej grupy administratorów komputera połączenie się z instancją SQL Server jako członek stałej roli serwera sysadmin. Aby uzyskać więcej informacji, zobacz Połącz z SQL Serverem, gdy administratorzy systemu są zablokowani.
W pewnych okolicznościach może być konieczne uruchomienie wystąpienia programu SQL Server w trybie pojedynczego użytkownika przy użyciu opcji uruchamiania -m
. Na przykład możesz zmienić opcje konfiguracji serwera lub odzyskać uszkodzoną bazę danych master
lub inną systemową bazę danych. Obie akcje wymagają uruchomienia wystąpienia programu SQL Server w trybie pojedynczego użytkownika.
Poniższy przykład uruchamia wystąpienie programu SQL Server w trybie pojedynczego użytkownika i zezwala na połączenie tylko za pośrednictwem edytora zapytań programu SQL Server Management Studio.
net start "SQL Server (MSSQLSERVER)" /m"Microsoft SQL Server Management Studio - Query"
Aby przywrócić bazę danych master
w systemie Linux w trybie pojedynczego użytkownika, zobacz Przywracanie bazy danych master w systemie Linux w trybie pojedynczego użytkownika.
Zagadnienia ogólne
Po uruchomieniu wystąpienia programu SQL Server w trybie pojedynczego użytkownika zwróć uwagę na następujące kwestie:
Tylko jeden użytkownik może nawiązać połączenie z serwerem.
Proces CHECKPOINT nie jest wykonywany. Domyślnie jest on wykonywany automatycznie podczas uruchamiania.
Notatka
Zatrzymaj usługę SQL Server Agent przed nawiązaniem połączenia z wystąpieniem programu SQL Server w trybie pojedynczego użytkownika; w przeciwnym razie usługa SQL Server Agent używa połączenia, blokując go.
Po uruchomieniu wystąpienia programu SQL Server w trybie pojedynczego użytkownika program SQL Server Management Studio może nawiązać połączenie z programem SQL Server. Eksplorator obiektów w programie Management Studio może zakończyć się niepowodzeniem, ponieważ wymaga więcej niż jednego połączenia dla niektórych operacji. Aby zarządzać programem SQL Server w trybie pojedynczego użytkownika, wykonaj instrukcje Transact-SQL, łącząc się za pośrednictwem Edytora zapytań w programie Management Studio lub Azure Data Studio albo użyj narzędzia sqlcmd.
Jeśli używasz opcji -m
z programem SQLCMD
lub Management Studio, możesz ograniczyć połączenia z określoną aplikacją kliencką.
Notatka
W systemie Linux SQLCMD
musi być napisane wielkimi literami, jak pokazano.
Na przykład -m"SQLCMD"
ogranicza połączenia do jednego, a to połączenie musi przedstawiać się jako program kliencki sqlcmd. Użyj tej opcji, gdy uruchamiasz program SQL Server w trybie pojedynczego użytkownika, a nieznana aplikacja kliencka przyjmuje jedyne dostępne połączenie. Aby nawiązać połączenie za pośrednictwem Edytora zapytań w programie Management Studio, użyj -m"Microsoft SQL Server Management Studio - Query"
.
Ważny
Nie używaj tej opcji jako funkcji zabezpieczeń. Aplikacja kliencka udostępnia nazwę aplikacji klienckiej i może podać fałszywą nazwę w ramach ciągu połączenia.
Aspekty trybu zawsze włączonego
W przypadku korzystania z trybu pojedynczego serwera dla wystąpień programu SQL Server skonfigurowanych jako wystąpienie klastra Always On failover (FCI) lub gdy bazy danych są częścią grupy dostępności Always On (AG), istnieją dodatkowe zagadnienia.
Grupy dostępności
Uruchamianie grupy dostępności Always On i baz danych w grupie jest pomijane, gdy SQL Server jest uruchomiony w trybie pojedynczego użytkownika. Jeśli musisz rozwiązać problemy z bazą danych, która wymaga uruchomienia programu SQL Server w trybie pojedynczego użytkownika, a baza danych jest również częścią grupy dostępności, musisz usunąć bazę danych z grupy dostępności przed uruchomieniem programu SQL Server w trybie pojedynczego użytkownika, aby baza danych jest w trybie online.
Wystąpienia klastra trybu failover
W przypadku instalacji programu SQL Server w środowisku klastra, gdy program SQL Server jest uruchamiany w trybie pojedynczego użytkownika, biblioteka dll zasobów klastra używa dostępnego połączenia, blokując w ten sposób wszelkie inne połączenia z serwerem. Kiedy program SQL Server jest w tym stanie, próba udostępnienia zasobu Agenta SQL Server online może spowodować przełączenie awaryjne zasobu SQL do innego węzła, jeśli zasób jest skonfigurowany tak, aby wpływał na grupę.
Aby obejść problem, wykonaj następującą procedurę:
Usuń parametr uruchamiania
-m
z właściwości zaawansowanych programu SQL Server.Przełącz zasób programu SQL Server w tryb offline.
Z aktualnego węzła właściciela grupy wydaj następujące polecenie przez wiersz polecenia:
net start MSSQLSERVER /m
Sprawdź z poziomu konsoli zarządzania klastra lub klastra trybu failover, czy zasób programu SQL Server jest nadal w trybie offline.
Połącz się teraz z programem SQL Server przy użyciu następującego polecenia i wykonaj niezbędną operację: SQLCMD -E -S<servername>.
Po zakończeniu operacji zamknij wiersz polecenia i wróć do bazy danych SQL i innych zasobów w trybie online za pośrednictwem administratora klastra.
Powiązana zawartość
- Przywracanie bazy danych master w systemie Linux w trybie pojedynczego użytkownika
- uruchamianie, zatrzymywanie lub wstrzymywanie usługi agenta programu SQL Server
- Połączenie Diagnostyczne dla Administratorów Bazy Danych
- Program narzędziowy sqlcmd
- CHECKPOINT (Transact-SQL)
- sp_configure (Transact-SQL)
- Opcje uruchamiania usługi aparatu bazy danych