Naprawianie błędu „NT AUTHORITY/LOCAL SERVICE Cannot Be Found”

Błąd to „Nie można znaleźć NT AUTHORITY/LOCAL SERVICEBłąd danych SQL Server zazwyczaj występuje w programie Visual Studio lub podczas wykonywania określonych zadań w wersjach systemu Windows Server. Niektórzy użytkownicy napotykają ten problem po zainstalowaniu nowych aplikacji serwerowych lub podczas kompilacji. Aplikacja Visual StudioInni widzą ten problem, gdy próbują zainstalować usługę za pomocą instalatora. zaawansowane.

Nie można znaleźć NT AUTHORITY/LOCAL SERVICE

Istnieje kilka różnych częstych przyczyn, które mogą spowodować błąd usługi NT AUTHORITYNETWORK SERVICE. Powody te różnią się w zależności od przypadku użycia.

W większości przypadków administrator sieci mógł usunąć określone dane logowania systemu Windows z różnych powodów. W rezultacie nie będziesz mógł udzielić dostępu do danych logowania SQL Server.

Innym powodem pojawienia się tego błędu może być próba dodania nowego loginu z tym samym identyfikatorem zabezpieczeń (SID) co ​​istniejący login w programie SQL Server. W takim przypadku powinien pojawić się również kod błędu 15401.

Potwierdzono jednak, że błąd „NT AUTHORITY/LOCAL SERVICE cannot be found” występuje również wtedy, gdy logowanie odbywa się w innej domenie niż serwer SQL lub gdy używany mechanizm rozpoznawania nazw specyficznych dla użytkownika (WINS, DNS, HOSTS lub LMHOSTS) nie jest poprawnie skonfigurowany.

Poniżej znajdziesz szereg sprawdzonych rozwiązań, które inni użytkownicy dotknięci tym problemem z powodzeniem wykorzystali, aby dotrzeć do sedna problemu.

1. Sprawdź, czy usługa NT AUTHORITYLOCAL SERVICE istnieje i ma niezbędne uprawnienia.

Zanim przejdziesz do bardziej technicznych rozwiązań, pierwszą rzeczą, którą musisz zrobić, jest upewnienie się, że konto Władze Terytorium PółnocnegoUSŁUGA LOKALNA Istnieje już w systemie, którego próbujesz użyć.

Jeśli ustaliłeś, że konto istnieje, poświęć chwilę, aby upewnić się, że masz wystarczające uprawnienia do utworzenia wymaganego loginu i powiązanego użytkownika na poziomie serwera SQL Server.

Procedura ta może się nieznacznie różnić w zależności od wersji systemu Windows Server, ale ogólne kroki są takie same w każdej wersji systemu Windows Server.

Oto co musisz zrobić:

  1. otwarty Panel sterowania systemu Windows Server Essentials.
  2. Przejdź do głównego paska nawigacyjnego i kliknij Użytkownicy.
    Dostęp do zakładki Użytkownicy
  3. Przeglądaj listę aktualnych użytkowników i sprawdź, czy znajdziesz wpis o podanej nazwie Władze Terytorium Północnego, lokalne służby.
    Ogłoszenie: Jeśli dane wejściowe są powiązane z Władze Terytorium PółnocnegoUSŁUGA LOKALNA Jeśli go brakuje, kliknij na hiperłącze. Dodaj konto użytkownika Otworzyć Kreator dodawania kont użytkowników. Następnie postępuj zgodnie z instrukcjami, aby utworzyć użytkowników dla usługi NT AUTHORITYLOCAL SERVICE i upewnij się, że konwencja nazewnictwa jest prawidłowa.
  4. Po potwierdzeniu istnienia konta sprawdźmy, czy ma ono odpowiednie uprawnienia. Aby to zrobić, kliknij „Konto”. Władze Terytorium PółnocnegoUSŁUGA LOKALNA w ciągu Użytkownicy, Następnie przejdź do części misja i kliknij Nieruchomości.
  5. Następnie przejdź do zakładki ogólny, Następnie zakładka Udostępnione foldery, Następnie zakładka Dostęp z dowolnego miejsca Włącz wszystkie uprawnienia, których potrzebuje to konto, zależnie od przypadku użycia. Włącz wymagane uprawnienia konta
  6. Zapisz zmiany i powtórz procedurę, która poprzednio spowodowała pojawienie się błędu „NT AUTHORITY/LOCAL SERVICE cannot be found”. Teraz błąd powinien zostać rozwiązany.

Jeżeli potwierdziłeś już utworzenie konta użytkownika Władze Terytorium PółnocnegoUSŁUGA LOKALNA Jeśli posiadasz niezbędne uprawnienia, przejdź do kolejnej metody opisanej poniżej.

2. Utwórz login do serwera SQL (jeśli dotyczy)

Jeśli napotkasz ten błąd podczas korzystania z aplikacji warstwy danych SQL Server w projekcie programu Visual Studio, prawdopodobnie widzisz ten błąd po utworzeniu skryptu, który dodaje Władze Terytorium PółnocnegoUSŁUGA LOKALNA Do listy logowania w Obiektach na poziomie serwera.

Ta metoda ma zastosowanie, jeśli do tworzenia i dodawania logowań w obiektach na poziomie bazy danych używasz następujących skryptów:

UTWÓRZ LOGOWANIE [USŁUGA LOKALNA NT] Z SYSTEMU WINDOWS Z JĘZYKIEM DOMYŚLNYM = [us_english] UTWÓRZ UŻYTKOWNIKA [USŁUGA LOKALNA NT] DO LOGOWANIA [USŁUGA LOKALNA NT]

W tym przypadku prawdopodobnie pojawi się komunikat o błędzie podczas próby kompilacji projektu. „Nie można odnaleźć usługi LOCAL SERVICE NT AUTHORITY, ponieważ nie istnieje lub nie udzielono na nią pozwolenia”..

Jeżeli dotyczy Cię ten scenariusz, powodem, dla którego nie możesz utworzyć konta [NT AUTHORITYLOCAL SERVICE] jest to, że Władze Terytorium PółnocnegoUSŁUGA LOKALNA W tym przypadku jest to po prostu wbudowane konto usługi systemu Windows. Każda usługa w programie SQL Server musi mieć konto zidentyfikowane podczas instalacji, aby mogła się uruchomić i działać.

Konta startowe SQL Server mogą być wbudowanymi kontami systemowymi, lokalnymi kontami użytkowników lub kontami użytkowników domeny. Lokalne konto usługi to wbudowane konto, które ma dostęp do tych samych zasobów i obiektów, co członkowie grupy. UżytkownicyOgraniczony dostęp ma na celu ochronę systemu na wypadek, gdyby pewne usługi lub procesy zostały naruszone.

Usługi działające jako lokalne konto usługowe Aby uzyskać dostęp do zasobów sieciowych, używana jest pusta sesja..

WażnyNależy pamiętać, że usługi SQL Server ani SQL Server Agent nie obsługują lokalnego konta usługi. Pełna nazwa konta to „NT AUTHORITY/LOCAL SERVICE”.

Aby rozwiązać ten problem, należy utworzyć logowanie do serwera SQL Server korzystające z uwierzytelniania systemu Windows za pośrednictwem języka Transact-SQL.

Aby to zrobić, zacznij od utworzenia użytkownika w systemie Windows, a następnie otwórz poniższe polecenie Transact-SQL za pomocą Edytora zapytań i upewnij się, że nazwa logowania jest taka sama jak nazwa użytkownika systemu Windows:

UTWÓRZ LOGOWANIE Z SYSTEMU WINDOWS; PRZEJDŹ

Ogłoszenie: Pamiętaj, że To tylko symbol zastępczy. Zastąp go rzeczywistą nazwą użytkownika systemu Windows.

3. Dodaj odpowiednie uprawnienia do SQL (jeśli dotyczy)

Inną przyczyną napotkania tego problemu jest sytuacja, w której nie dodano prawidłowych uprawnień w SQL dla NT AUTHORITY/LOCAL SERVICE i udzielono kontroli wyłącznie folderowi.

Aby rozwiązać ten problem, musisz otworzyć program SQL Server Management Studio (Enterprise Manager) i sprawdzić instancję SQL, z którą próbujesz się połączyć. Następnie przejdź do Bezpieczeństwo > Logowania Utwórz nowe logowanie, korzystając z metody uwierzytelniania systemu Windows WŁADZE TERENU TERENU NOWEGO/USŁUGI LOKALNE.

Oto krótki przewodnik, jak to zrobić:

  1. Otwórz stronę startową i wpisz „SMS-y".
  2. Z listy wyników wybierz Studio zarządzania Microsoft SQL Server. Otwórz studio zarządzania SQL
  3. Po uruchomieniu narzędzia Microsoft SQL Server Management Studio przejdź do konkretnego wystąpienia SQL powodującego błąd.
  4. Po pomyślnym uzyskaniu dostępu do określonej instancji SQL przejdź do niej Bezpieczeństwo > Logowania (filtrowane). Dostęp do folderu logowania
  5. Kliknij prawym przyciskiem myszy element główny, a następnie kliknij Windows Authentication.
  6. Następnie napisz 'WŁADZE TERENU Północnego/SŁUŻBA LOKALNA' Sprawdź, czy utworzyłeś prawidłowe uprawnienia SQL.
  7. Jeśli jeszcze tego nie zrobiłeś, upewnij się, że dodałeś odpowiednie uprawnienia do nowego konta.
    Ogłoszenie: Zapoznaj się z Metoda 1 Aby uzyskać szczegółowe informacje na temat kroków.
  8. Powtórz procedurę, która poprzednio spowodowała problem i sprawdź, czy problem został rozwiązany.

4. Odbuduj bazę danych SQL Server (jeśli to możliwe)

Jeśli próbowałeś już zmienić użytkownika „Zaloguj się jako” w usłudze SQL Server na NT AUTHORITY/LOCAL SERVICE i to nie zadziałało, możesz rozwiązać problem, korzystając z Pobierz instalator Aby wyodrębnić nazwę szesnastkową przed odbudową bazy danych SQL i ponownym skopiowaniem plików.

Oto krótki przewodnik, jak to zrobić:

  1. Uruchom pobrany instalator i pozwól mu rozpakować pliki do domyślnej lokalizacji.
    Ogłoszenie: Wyodrębnione dane zostaną opublikowane w katalogu głównym dysku systemu operacyjnego (najpewniej C:/) z długą nazwą szesnastkową.
  2. Po zakończeniu rozpakowywania skopiuj wszystkie pliki do innego folderu, aby zapobiec usunięciu jego zawartości podczas kolejnej operacji.
  3. Zamknij instalator.
    Ogłoszenie: Po wykonaniu tej czynności zawartość folderu szesnastkowego utworzonego w kroku 2 zostanie usunięta.
  4. Kliknij Klawisz Windows + R Aby otworzyć okno dialogowe Uruchom.
  5. Następnie napisz „cmd” i naciśnij Ctrl + Shift + Enter ل Otwórz wiersz poleceń z uprawnieniami administratora Do twego sługi. Otwórz okno wiersza poleceń z uprawnieniami administratora.
  6. kiedy pojawia się Kontrola konta użytkownika (UAC) dotknij نعم Nadanie uprawnień administratora.
  7. posługiwać się CD Aby przejść do lokalizacji, w której zapisałeś wcześniej wyodrębnione pliki (z kroku 3). Oto przykład:
    Numer płyty CD:23420247290247292740

    Ogłoszenie: To tylko przykładowy fragment kodu. Zmodyfikuj powyższe polecenie, aby przejść do faktycznej lokalizacji, w której zapisałeś pliki (w kroku 3).

  8. Po dotarciu do właściwej lokalizacji uruchom następujące polecenie, aby ponownie utworzyć i odbudować bazę danych:
    konfiguracja /action=RebuildDatabase /InstanceName=SQLEXPRESS /SqlSysAdminAccounts=BUILTINAdministrators
  9. Zamknij wiersz poleceń (CMD) z uprawnieniami administratora i powtórz procedurę, która powodowała błąd „Nie znaleziono usługi NT AUTHORITY/LOCAL SERVICE”, aby sprawdzić, czy problem został rozwiązany.

5. Skonfiguruj MachineGUID i uruchom ponownie usługę SQL

Jeśli ten błąd wystąpił podczas próby uruchomienia programu SQL Server i problem zaczął się pojawiać po zmianie wbudowanego logowania z Usługi lokalnej na System lokalny, problem jest prawdopodobnie spowodowany kluczem rejestru MachineGUID, który nie wskazuje już prawidłowej ścieżki.

Inni użytkownicy, którzy napotkali podobną sytuację, potwierdzili, że udało im się rozwiązać problem poprzez utworzenie kopii zapasowej klucza powodującego problem, a następnie zmodyfikowanie ścieżki i ponowne uruchomienie usługi SQL.

Oto krótki przewodnik, jak to zrobić:

  1. naciśnij klawisz . Windows + R Aby otworzyć okno dialogowe zatrudnienie.
  2. Następnie napisz „regedit” i naciśnij Ctrl + Shift + Enter Otworzyć Edytor rejestru Z uprawnieniami administratora. Otwieranie Edytora rejestru
  3. Gdy pojawi się okno Kontrola konta użytkownika (UAC), dotknij نعم Nadanie uprawnień administratora.
  4. ال Edytor rejestruUżyj lewej strony, aby przejść do następującej lokalizacji:
    HKLMSOFTWAREMicrosoftCryptographyMachineGuid
  5. Po znalezieniu właściwej lokalizacji zidentyfikuj klucz powodujący problem. Powinien on zawierać identyfikator GUID danego urządzenia ujęty w nawiasy klamrowe (na przykład: {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}).
  6. Po prawidłowym zidentyfikowaniu uszkodzonego urządzenia musimy utworzyć kopię zapasową. Aby to zrobić, upewnij się, że klucz urządzenia jest zaznaczony, a następnie skorzystaj z paska plików u góry, aby przejść do... plik i kliknij Eksport. Eksportowanie pliku
  7. Określ lokalizację, podaj rozpoznawalną nazwę pliku i upewnij się, że plik jest ustawiony Zapisz według typu Dla mnie Pliki rejestru (*.reg).
  8. Na koniec, przed kliknięciem zapisaćUpewnij się, że ustawiłeś Zakres eksportu Dla mnie Konkretna gałąź I czy podano właściwą gałąź. Eksportowanie konkretnej gałęzi
  9. dotknij zapisać Aby dokończyć proces tworzenia kopii zapasowej.
  10. Po zakończeniu tworzenia kopii zapasowej zmień nazwę klucza powodującego problem i usuń nawiasy kwadratowe.
    Ogłoszenie: Wartość musi się zmienić Przewodnik maszynowy من {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} Dla mnie xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
  11. Po zastosowaniu tej zmiany zamknij Edytor rejestru, uruchom ponownie komputer, a następnie uruchom usługę SQL. Ważny: Jeśli usługa nie uruchomi się od razu, odinstaluj i zainstaluj ponownie SQL przed ponownym uruchomieniem. Jeśli pojawi się inny błąd, przywróć oryginalną kopię zapasową utworzoną w kroku 8 i przejdź do kolejnej metody poniżej.

6. Modyfikuj przypisania użytkowników

Jeśli podczas próby pobrania danych z serwera SQL Server za pomocą ASP.NET pojawi się błąd „NT AUTHORITY/LOCAL SERVICE cannot be found”, szybkim sposobem naprawienia lokalnej przyczyny jest modyfikacja mapowania użytkowników na prawidłowe wartości.

Ogłoszenie: Ta poprawka sprawdza się w przypadkach, gdy używasz lokalnej bazy danych dla SQL Server Management Studio i próbujesz wprowadzić do niej dane przy użyciu aplikacji ASP.NET.

Jeśli dokładnie sprawdziłeś dane wejściowe i cały kod jest poprawny, ale nadal pojawia się błąd, postępuj zgodnie z poniższymi instrukcjami, aby za pomocą programu SQL Server Management Studio uzyskać dostęp do strony logowania i zmodyfikować aktualnie przypisane mapowania użytkowników z ekranu Właściwości.

Oto krótki przewodnik krok po kroku, jak to zrobić:

  1. Naciśnij klawisz Start na klawiaturze, a następnie wpisz „SMS-yNa stronie startowej.
  2. Z listy wyników wybierz Studio zarządzania Microsoft SQL Server. Otwórz SQL Server Management Studio
  3. Następnie zaloguj się na serwerze, który powoduje błąd „NT AUTHORITY/LOCAL SERVICE cannot be found”.
  4. Iść do BezpieczeństwoNastępnie wejdź do podsekcji Logowania.
  5. W menu opcji kliknij prawym przyciskiem myszy NT USŁUGA SIECI AUTORYTACYJNEJ أو Władze Terytorium PółnocnegoUSŁUGA LOKALNA (W zależności od scenariusza użytkowania) i kliknij Właściwości z menu kontekstowego. Dostęp do ekranu właściwości usługi lokalnej
  6. Po wejściu na ekran Właściwości logowania, Wybierać Mapowania użytkowników Z lewego górnego rogu ekranu.
  7. Po prawej stronie zobaczysz listę Role bazy danychUpewnij się, że pole wyboru jest zaznaczone. właściciel bazy danych, a następnie dotknij OK.
  8. Uruchom ponownie kod, który wcześniej powodował problem i sprawdź, czy problem został rozwiązany.

7. Nadaj uprawnienia administratora systemu (jeśli dotyczy)

Jeżeli napotkasz ten błąd podczas próby uzyskania dostępu do bazy danych dla lokalnie utworzonej aplikacji, pierwszą rzeczą, jaką powinieneś sprawdzić, jest to, czy bieżąca konfiguracja pozwala na działanie funkcji NT AUTHORITY/LOCAL SERVICE. Rola administratora systemu.

Możesz to zrobić, otwierając Studio zarządzania Microsoft SQL Server Zmodyfikuj właściwości usługi NT AUTHORITY/LOCAL, aby włączyć rolę sysadmin.

Oto krótki przewodnik, jak to zrobić:

  1. naciśnij klawisz . Początek Następnie wpisz na klawiaturze „SMS-yNa stronie startowej.
  2. Z listy wyników wybierz Studio zarządzania Microsoft SQL Server. Otwórz Studio Zarządzania SQL
  3. Następnie przejdź do الأمان Rozwiń listę Login.
  4. Kliknij prawym przyciskiem myszy NT AUTHORITY/System lokalny Następnie kliknij ا z menu kontekstowego.
  5. Na ekranie właściwości kliknij Role służebne Z lewego paska bocznego.
  6. Przejdź na prawą stronę i upewnij się, że pole z nim powiązane jest zaznaczone. sysadmin. Modyfikacja roli serwera
  7. Zapisz zmiany, uruchom ponownie urządzenie i sprawdź, czy problem został rozwiązany.

Jeśli z jakiegoś powodu nie możesz uzyskać dostępu do programu Microsoft SQL Server Management Studio, możesz również zastosować tę poprawkę z wiersza poleceń z uprawnieniami administratora (o ile pozwalają na to Twoje uprawnienia dostępu).

Oto jak to zrobić:

  1. naciśnij klawisz . Windows + R Aby otworzyć okno dialogowe zatrudnienie.
    Następnie napisz „cmd” i naciśnij Ctrl + Shift + Enter Otworzyć Edytor rejestru Z uprawnieniami administratora. Otwórz wiersz poleceń CMD
  2. Kiedy pojawi się roszczenie Kontrola konta użytkownika (UAC), Kliknij نعم Nadanie uprawnień administratora.
  3. W wierszu poleceń uruchomionym z podwyższonymi uprawnieniami wpisz poniższe polecenie (i zmodyfikuj symbol zastępczy), aby uzyskać dostęp do konkretnego serwera powodującego problem:
    sqlcmd -S (*nazwa serwera*)

    Ogłoszenie: Pamiętaj o edycji *Nazwa serwera* W nazwie rzeczywistego serwera w Twoim konkretnym przypadku.

  4. Następnie wpisz poniższe polecenie i naciśnij Enter Wchodzę Aby uzyskać dostęp do serwera SQL na swoim komputerze:
    wybierz nazwę z sys.server_principals, gdzie nazwa = 'NT AUTHORITYSYSTEM'
  5. Następnie wpisz poniższe polecenie, aby pobrać wynik i użyć go w Procedura sortowania Gdzie zostaną dodane prawa sysmin Do niej:
    SP_ADDSRVROLEMEMBER 'NT AUTHORITYSYSTEM','SYSADMIN'
  6. Po pomyślnym rozwiązaniu obu problemów zamknij okno wiersza poleceń (CMD) i powtórz procedurę, która spowodowała błąd „NT AUTHORITY/LOCAL SERVICE cannot be found”.

8. Zmień język serwera na angielski (jeśli dotyczy)

Jeśli podczas korzystania z usługi pojawi się błąd „NT AUTHORITY/LOCAL SERVICE cannot be found” (Nie można znaleźć usługi NT AUTHORITY/LOCAL SERVICE), Zaawansowany instalator W przypadku wywołania usługi NT AUTHORITYLOCAL SERVICE błąd może być objawem awarii wpływającej na serwery obce.

Problem ten pojawia się, gdy niektórzy użytkownicy programu Advanced Installer próbują ręcznie uruchomić usługę XUA Automation Server za pośrednictwem ekranu Usługi lub gdy próbują uruchomić ją ręcznie, wpisując wyłącznie nazwę użytkownika (bez uwierzytelniania NT).

Ogłoszenie: Ten problem występuje, ponieważ SCM nie obsługuje lokalnie tłumaczonych nazw, mimo że podsystem zabezpieczeń je przetłumaczy. Chociaż otrzymasz lokalnie przetłumaczoną nazwę dla swojego konta na serwerze zagranicznym, konto musi być… NT AUTHORITYLocalService Podczas korzystania z funkcji takich jak: Utwórz usługę أو Zmień konfigurację usługi.

Jeśli ten scenariusz ma zastosowanie, jedynym rozwiązaniem jest na razie użycie angielskiej wersji konwencji nazewnictwa.

Dlatego zamiast używać poleceń w języku lokalnego serwera (takich jak AUTORITE NTSERVICE LOCAL), należy używać ich angielskiego odpowiednika (NT AUTHORITYLocalService).

Możliwość dodawania komentarzy nie jest dostępna.