Behebung des Fehlers „NT-AUTORITÄTS-/LOKALER DIENST kann nicht gefunden werden“
Der Fehler „ NT-AUTORITÄT/LOKALER DIENST wurde nicht gefunden “ ist ein SQL-Server-Datenfehler, der typischerweise bei der Verwendung von Visual Studio oder bei bestimmten Aufgaben unter Windows Server auftritt. Während einige Benutzer nach der Installation neuer Serveranwendungen oder beim Kompilieren einer Visual-Studio-Anwendung auf dieses Problem stoßen , tritt es bei anderen beim Versuch auf, einen Dienst mithilfe des erweiterten Installationsprogramms zu installieren.
Es gibt mehrere häufige Gründe, die zu einem NT AUTHORITYNETWORK SERVICE-Fehler führen können, und diese Gründe variieren je nach Anwendungsfall.
In den meisten Fällen hat Ihr Netzwerkadministrator die angegebene Windows-Anmeldung aus verschiedenen Gründen entfernt. Daher können Sie den Zugriff auf die SQL-Server-Anmeldung nicht gewähren.
Ein weiterer Grund für diesen Fehler kann sein, dass Sie versuchen, einen neuen Login mit derselben Sicherheits-ID (SID) wie einen bestehenden Login in SQL Server hinzuzufügen. In diesem Fall sollte ebenfalls der Fehlercode 15401 angezeigt werden.
Es wurde jedoch auch bestätigt, dass der Fehler „NT AUTHORITY/LOCAL SERVICE kann nicht gefunden werden“ auftritt, wenn sich die Anmeldung in einer anderen Domäne als dem SQL-Server befindet oder wenn der verwendete namensspezifische Auflösungsmechanismus (WINS, DNS, HOSTS oder LMHOSTS) nicht ordnungsgemäß konfiguriert ist.
Nachfolgend finden Sie eine Reihe bewährter Lösungsansätze, die andere betroffene Nutzer erfolgreich eingesetzt haben, um das Problem an der Wurzel zu packen.
1. Prüfen Sie, ob der Dienst NT AUTHORITYLOCAL existiert und über die erforderlichen Berechtigungen verfügt.
Bevor Sie sich mit technischen Lösungen befassen, müssen Sie zunächst sicherstellen, dass auf dem System, das Sie verwenden möchten, bereits ein NT AUTHORITYLOCAL SERVICE -Konto existiert.
Wenn Sie festgestellt haben, dass das Konto existiert, sollten Sie sich vergewissern, dass Sie über ausreichende Berechtigungen verfügen, um den erforderlichen Login und den zugehörigen Benutzer auf SQL-Server-Ebene zu erstellen.
Dieses Vorgehen variiert je nach Ihrer Windows Server-Version geringfügig, die allgemeinen Schritte sind jedoch in jeder Windows Server-Version gleich.
Folgendes müssen Sie tun:
- Öffnen Windows Server Essentials Dashboard.
- Gehen Sie zur Hauptnavigationsleiste und klicken Sie auf Nutzer.
- Durchsuchen Sie die Liste der aktuellen Benutzer und prüfen Sie, ob Sie einen Eintrag mit dem Namen finden können. NT-BEHÖRDE LOKALER SERVICE.
Hinweis: Wenn die Eingabe, die mit NT AUTHORITYLOKALER SERVICE Falls es fehlt, klicken Sie auf den Hyperlink. Fügen Sie ein Benutzerkonto hinzu Öffnen Assistent zum Hinzufügen von Benutzerkonten. Folgen Sie anschließend den Anweisungen zum Erstellen von Benutzern für den NT AUTHORITYLOCAL SERVICE und stellen Sie sicher, dass die Namenskonvention korrekt ist. - Sobald wir bestätigt haben, dass das Konto existiert, überprüfen wir, ob es über die erforderlichen Berechtigungen verfügt. Klicken Sie dazu auf „Konto“. NT AUTHORITYLOKALER SERVICE innerhalb Benutzer, Dann fahren Sie mit Teil 1 fort. Mission und klicke Eigenschaften.
- Gehen Sie als Nächstes zur Registerkarte Allgemeines, Dann die Registerkarte Gemeinsame Ordner, Dann die Registerkarte Zugriff von überall Aktivieren Sie alle Berechtigungen, die dieses Konto je nach Ihrem Anwendungsfall benötigt.
- Speichern Sie die Änderungen und wiederholen Sie die Prozedur, die zuvor den Fehler „NT AUTHORITY/LOCAL SERVICE kann nicht gefunden werden“ verursacht hat, der nun behoben sein sollte.
Wenn Sie bereits überprüft haben, dass das Benutzerkonto NT AUTHORITYLOCAL SERVICE erstellt wurde und über die erforderlichen Berechtigungen verfügt, fahren Sie mit der nächsten Methode unten fort.
2. Erstellen Sie ein Login für SQL Server (falls zutreffend).
Wenn dieser Fehler bei der Verwendung der SQL Server Data Layer-Anwendung in einem Visual Studio-Projekt auftritt, geschieht dies wahrscheinlich nach dem Erstellen des Skripts, das den Dienst NT AUTHORITYLOCAL SERVICE zur Anmeldeliste unter Server Level Objects hinzufügt.
Wenn Sie die folgenden Skripte verwenden, um Anmeldungen innerhalb von Objekten auf Datenbankebene zu erstellen und hinzuzufügen, ist diese Methode anwendbar:
CREATE LOGIN [NT AUTHORITYLOCAL SERVICE] FROM WINDOWS WITH DEFAULT_LANGUAGE=[us_english] CREATE USER [NT AUTHORITYLOCAL SERVICE] FOR LOGIN [NT AUTHORITYLOCAL SERVICE]
In diesem Fall werden Sie wahrscheinlich auf den Fehler stoßen, wenn Sie versuchen, das Projekt zu kompilieren, mit der Fehlermeldung „NT AUTHORITYLOCAL SERVICE konnte nicht gefunden werden, da er nicht existiert oder die Berechtigung nicht erteilt wurde“.
Wenn dies auf Sie zutrifft, können Sie das [NT AUTHORITYLOCAL SERVICE]-Konto nicht erstellen, da es sich bei NT AUTHORITYLOCAL SERVICE in diesem Fall lediglich um ein integriertes Windows-Dienstkonto handelt. Jeder Dienst in SQL Server benötigt ein Konto, das während der Installation festgelegt wurde, um gestartet werden und funktionieren zu können.
SQL Server-Startkonten können integrierte Systemkonten, lokale Benutzerkonten oder Domänenbenutzerkonten sein. Ein lokales Dienstkonto ist ein integriertes Konto, das Zugriff auf dieselben Ressourcen und Objekte wie Mitglieder einer Benutzergruppe hat . Dieser eingeschränkte Zugriff schützt das System, falls bestimmte Dienste oder Prozesse kompromittiert werden.
Dienste, die als lokales Dienstkonto fungieren, verwenden eine leere Sitzung, um auf Netzwerkressourcen zuzugreifen.
Wichtig : Beachten Sie, dass SQL Server oder SQL Server Agent-Dienste das lokale Dienstkonto nicht unterstützen. Der vollständige Kontoname lautet „NT AUTHORITY/LOCAL SERVICE“.
Um dieses Problem zu beheben, müssen Sie einen SQL Server-Login erstellen, der die Windows-Authentifizierung über Transact-SQL verwendet.
Erstellen Sie dazu zunächst einen Benutzer in Windows, öffnen Sie dann den folgenden Transact-SQL-Befehl im Abfrage-Editor und stellen Sie sicher, dass der Anmeldename mit dem Windows-Benutzernamen übereinstimmt:
Login erstellen VON WINDOWS AUS; LOS
Hinweis: Beachten Sie, dass <Name des Windows-Benutzers> nur ein Platzhalter ist. Ersetzen Sie ihn durch den tatsächlichen Namen Ihres Windows-Benutzers.
3. Fügen Sie gegebenenfalls die korrekten Berechtigungen zur SQL-Abfrage hinzu.
Ein weiterer Grund, warum dieses Problem auftreten könnte, ist ein Szenario, in dem Sie in SQL nicht die korrekten Berechtigungen für den NT AUTHORITY/LOCAL SERVICE hinzugefügt und die Kontrolle nur dem Ordner gewährt haben.
Um dieses Problem zu beheben, öffnen Sie SQL Server Management Studio (Enterprise Manager) und navigieren Sie zur SQL-Instanz, mit der Sie eine Verbindung herstellen möchten. Dort wählen Sie „Sicherheit“ > „Anmeldungen“ und erstellen eine neue Anmeldung mit der Windows-Authentifizierungsmethode „NT-Autorität/Lokaler Dienst“.
Hier ist eine Kurzanleitung dazu:
- Öffnen Sie die Startseite und geben Sie Folgendes ein:SMS'.
- Wählen Sie aus der Ergebnisliste aus Microsoft SQL Server Management Studio.
- Sobald Sie sich im Microsoft SQL Server Management Studio befinden, navigieren Sie zu der spezifischen SQL-Instanz, die den Fehler verursacht.
- Nachdem Sie erfolgreich auf die angegebene SQL-Instanz zugegriffen haben, navigieren Sie zu Sicherheit > Anmeldungen (gefiltert).
- Klicken Sie mit der rechten Maustaste auf das primäre Element und klicken Sie dann auf Windows-Authentifizierung.
- Als nächstes schreiben Sie 'NT-BEHÖRDE/LOKALER DIENST' Vergewissern Sie sich, dass Sie die korrekten SQL-Berechtigungen erstellt haben.
- Stellen Sie sicher, dass Sie diesem neuen Konto die entsprechenden Berechtigungen hinzufügen, falls Sie dies noch nicht getan haben.
Hinweis: Siehe die Methode 1 Um konkrete Schritte zu erhalten. - Wiederholen Sie den Vorgang, der zuvor das Problem verursacht hat, und prüfen Sie, ob das Problem nun behoben ist.
4. Die SQL-Server-Datenbank neu erstellen (falls möglich).
Wenn Sie bereits versucht haben, den Benutzer „Anmelden als“ im SQL Server-Dienst auf NT AUTHORITY/LOCAL SERVICE zu ändern, und dies nicht funktioniert hat, können Sie das Problem möglicherweise beheben, indem Sie den Download Installer verwenden , um den hexadezimalen Namen zu extrahieren, bevor Sie die SQL-Datenbank neu erstellen und die Dateien erneut kopieren.
Hier ist eine Kurzanleitung dazu:
- Führen Sie das heruntergeladene Installationsprogramm aus und lassen Sie es die Dateien am Standardspeicherort extrahieren.
Hinweis: Die extrahierte Datei wird im Stammverzeichnis Ihres Betriebssystemlaufwerks (höchstwahrscheinlich C:/) unter einem langen hexadezimalen Namen veröffentlicht. - Sobald die Extraktion abgeschlossen ist, sollten Sie alle Dateien in einen anderen Ordner kopieren, um zu verhindern, dass der nächste Schritt den Inhalt löscht.
- Schließen Sie das Installationsprogramm.
Hinweis: Sobald Sie dies getan haben, werden die Inhalte des in Schritt 2 erstellten Hexadezimalordners gelöscht. - Klicke auf Windows-Taste + R So öffnen Sie ein Dialogfeld Führen Sie.
- Als nächstes schreiben Sie 'cmd' Und drücke Strg + Umschalt + Enter ل Öffnen Sie eine Eingabeaufforderung mit Administratorrechten. An deinen Diener.
- wenn . erscheint Benutzerkontensteuerung (UAC), tippen Sie auf نعم Um dem Administrator Befugnisse zu erteilen.
- benutzen CD Um zu dem Speicherort zu navigieren, an dem Sie die zuvor extrahierten Dateien (aus Schritt 3) gespeichert haben. Hier ist ein Beispiel:
CD C:23420247290247292740
Hinweis: Dies ist nur ein Beispielcode. Passen Sie den obigen Befehl an, um zum tatsächlichen Speicherort der Dateien zu wechseln (in Schritt 3).
- Sobald Sie den richtigen Speicherort erreicht haben, führen Sie folgenden Befehl aus, um die Datenbank neu zu erstellen und wiederherzustellen:
setup /action=RebuildDatabase /InstanceName=SQLEXPRESS /SqlSysAdminAccounts=BUILTINAdministrators
- Schließen Sie die Eingabeaufforderung (CMD) mit Administratorrechten und wiederholen Sie die Prozedur, die den Fehler „NT AUTHORITY/LOCAL SERVICE kann nicht gefunden werden“ verursacht hat, um zu sehen, ob das Problem nun behoben ist.
5. Konfigurieren Sie MachineGUID und starten Sie den SQL-Dienst neu.
Wenn dieser Fehler beim Starten Ihres SQL Servers auftritt und das Problem nach der Umstellung der integrierten Anmeldung von „Lokaler Dienst“ auf „Lokales System“ auftritt, wird das Problem wahrscheinlich durch einen MachineGUID-Registrierungsschlüssel verursacht, der nicht mehr auf den richtigen Pfad verweist.
Andere Benutzer, die mit einer ähnlichen Situation konfrontiert waren, bestätigten, dass sie das Problem beheben konnten, indem sie vor der Änderung des Pfades und dem Neustart des SQL-Dienstes eine Sicherungskopie des problematischen Schlüssels erstellten.
Hier ist eine Kurzanleitung dazu:
- drücken Sie die .-Taste Windows-+ R So öffnen Sie ein Dialogfeld تشغيل.
- Als nächstes schreiben Sie 'regedit' Und drücke Strg + Umschalt + Enter Öffnen Registierungseditor Mit Administratorrechten.
- Wenn ein Fenster erscheint Benutzerkontensteuerung (UAC), tippen Sie auf نعم Um dem Administrator Befugnisse zu erteilen.
- Eintreten RegistierungseditorNutzen Sie die linke Seite, um zum folgenden Ort zu navigieren:
HKLMSOFTWAREMicrosoftCryptographyMachineGuid
- Sobald Sie den richtigen Speicherort gefunden haben, identifizieren Sie den Schlüssel, der das Problem verursacht. Er sollte die GUID des betroffenen Geräts in geschweiften Klammern enthalten (zum Beispiel: {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}).
- Nachdem das betroffene Gerät korrekt identifiziert wurde, muss ein Backup erstellt werden. Stellen Sie dazu sicher, dass der Geräteschlüssel ausgewählt ist, und navigieren Sie dann über die Dateileiste oben zu … eine Datei und klicke Export.
- Geben Sie einen Speicherort an, vergeben Sie einen aussagekräftigen Dateinamen und stellen Sie sicher, dass die Datei festgelegt ist. Art sparen إلى Registrierungsdateien (*.reg).
- Bevor Sie schließlich auf „…“ klicken, … sparenStellen Sie sicher, dass Sie Folgendes einstellen: Geltungsbereich exportieren إلى Spezieller Zweig Und dass der richtige Zweig angegeben wird.
- tippen Sie auf sparen Um den Sicherungsprozess abzuschließen.
- Sobald die Datensicherung abgeschlossen ist, benennen Sie den Schlüssel, der das Problem verursacht, um und entfernen Sie die Klammern.
Hinweis: Der Wert muss sich ändern MachineGuid من {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} إلى xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. - Sobald diese Änderung angewendet wurde, schließen Sie den Registrierungseditor, starten Sie den Computer neu und starten Sie dann den SQL-Dienst. Wichtig: Wenn der Dienst nicht sofort startet, deinstallieren und installieren Sie SQL Server neu, bevor Sie ihn neu starten. Falls eine andere Fehlermeldung erscheint, stellen Sie die in Schritt 8 erstellte ursprüngliche Sicherung wieder her und fahren Sie mit der nächsten Methode fort.
6. Benutzerzuweisungen ändern
Wenn beim Abrufen von Daten von Ihrem SQL Server mit asp.net die Fehlermeldung „NT AUTHORITY/LOCAL SERVICE kann nicht gefunden werden“ auftritt, besteht eine schnelle Möglichkeit zur Behebung lokaler Ursachen darin, die Benutzerzuordnung auf die korrekten Werte zu ändern.
Hinweis: Diese Lösung ist in Fällen wirksam, in denen Sie eine lokale Datenbank für SQL Server Management Studio verwenden und versuchen, Daten mithilfe einer ASP.NET-Anwendung in diese einzugeben.
Wenn Sie die Eingaben gründlich geprüft haben und der gesamte Code korrekt ist, aber dennoch der Fehler auftritt, befolgen Sie die nachstehenden Anweisungen, um mit SQL Server Management Studio auf die Seite „Anmeldungen“ zuzugreifen und die aktuell zugewiesenen Benutzerzuordnungen im Eigenschaftenfenster zu ändern.
Hier ist eine kurze Schritt-für-Schritt-Anleitung dazu:
- Drücken Sie die Start-Taste auf Ihrer Tastatur und geben Sie dann ' einSMSAuf der Startseite.
- Wählen Sie aus der Ergebnisliste aus Microsoft SQL Server Management Studio.
- Melden Sie sich als Nächstes bei dem Server an, der den Fehler „NT AUTHORITY/LOCAL SERVICE kann nicht gefunden werden“ verursacht.
- Gehe zu SicherheitDann wechseln Sie in den Unterabschnitt. Anmeldungen.
- Klicken Sie im Optionsmenü mit der rechten Maustaste auf NT. AUTORISIERUNGSNETZWERKDIENST Oder NT AUTHORITYLOKALER SERVICE (Je nach Ihrem Nutzungsszenario) und klicken Sie auf Eigenschaften aus dem Kontextmenü.
- Sobald Sie den Bildschirm betreten Anmeldeeigenschaften, Wählen Benutzerzuordnungen Vom oberen linken Bildschirmbereich aus.
- Auf der rechten Seite sehen Sie eine Liste von DatenbankrollenStellen Sie sicher, dass das Kontrollkästchen aktiviert ist. Datenbankbesitzer, Dann klick OK.
- Führen Sie den Code, der zuvor das Problem verursacht hat, erneut aus und prüfen Sie, ob das Problem nun behoben ist.
7. Gewähren Sie gegebenenfalls Berechtigungen für die Rolle „sysadmin“.
Wenn dieser Fehler beim Zugriff auf eine Datenbank einer lokal erstellten Anwendung auftritt, sollten Sie als Erstes überprüfen, ob die aktuelle Konfiguration es dem NT-AUTORITÄTS-/LOKALEN DIENST erlaubt, unter der Rolle des Systemadministrators zu funktionieren.
Dies können Sie tun, indem Sie Microsoft SQL Server Management Studio öffnen und die Eigenschaften des Dienstes NT AUTHORITY/LOCAL ändern, um die Rolle „sysadmin“ zu aktivieren.
Hier ist eine Kurzanleitung dazu:
- drücken Sie die .-Taste Start Geben Sie dann auf der Tastatur ' einSMSAuf der Startseite.
- Wählen Sie aus der Ergebnisliste aus Microsoft SQL Server Management Studio.
- Gehen Sie danach zu الأمان und erweitere die Liste Login.
- Rechtsklick auf NT-Autorität/Lokales System Dann klick auf ئصائص aus dem Kontextmenü.
- Klicken Sie im Eigenschaftenfenster auf Dienerrollen Aus der linken Seitenleiste.
- Gehen Sie zur rechten Seite und stellen Sie sicher, dass das zugehörige Feld Sysadmin.
- Speichern Sie die Änderungen, starten Sie Ihr Gerät neu und prüfen Sie, ob das Problem nun behoben ist.
Falls Sie aus irgendeinem Grund keinen Zugriff auf Microsoft SQL Server Management Studio haben, können Sie diese Korrektur auch über eine Eingabeaufforderung mit Administratorrechten anwenden (sofern Ihre Zugriffsrechte dies zulassen).
So geht's:
- drücken Sie die .-Taste Windows-+ R So öffnen Sie ein Dialogfeld تشغيل.
Als nächstes schreiben Sie 'cmd' Und drücke Strg + Umschalt + Enter Öffnen Registierungseditor Mit Administratorrechten.
- Wenn ein Anspruch erscheint Benutzerkontensteuerung (UAC), Klicken نعم Um dem Administrator Befugnisse zu erteilen.
- Geben Sie in einer Eingabeaufforderung mit erhöhten Rechten den folgenden Befehl ein (und ändern Sie den Platzhalter), um auf den spezifischen Server zuzugreifen, der das Problem verursacht:
sqlcmd -S (*Servername*)
Hinweis: Achten Sie darauf , *Servername* durch den tatsächlichen Servernamen in Ihrem konkreten Fall zu ersetzen .
- Geben Sie anschließend den folgenden Befehl ein und drücken Sie die Eingabetaste. Enter So greifen Sie auf den SQL-Server auf Ihrem Rechner zu:
SELECT name FROM sys.server_principals WHERE name = 'NT AUTHORITYSYSTEM'
- Geben Sie anschließend den folgenden Befehl ein, um das Ergebnis abzurufen und es zu verwenden. Sortierverfahren Wo Rechte hinzugefügt werden sysmin Ihr:
SP_ADDSRVROLEMEMBER 'NT AUTHORITYSYSTEM','SYSADMIN'
- Sobald beide Probleme erfolgreich behoben wurden, schließen Sie die Eingabeaufforderung mit erhöhten Rechten (CMD) und wiederholen Sie die Prozedur, die den Fehler „NT AUTHORITY/LOCAL SERVICE kann nicht gefunden werden“ verursacht hat.
8. Ändern Sie die Serversprache auf Englisch (falls zutreffend).
Wenn beim Aufruf von NT AUTHORITY/LOCAL SERVICE mit Advanced Installer die Fehlermeldung „NT AUTHORITY/LOCAL SERVICE kann nicht gefunden werden“ erscheint , könnte dies ein Symptom für einen Fehler sein, der fremde Server betrifft.
Dieses Problem wird bestätigt, wenn einige Benutzer von Advanced Installer versuchen, den XUA Automation Server-Dienst manuell über den Bildschirm "Dienste" zu starten oder wenn sie versuchen, ihn manuell durch Eingabe des Benutzernamens allein (ohne NT-Autorisierung) zu starten.
Hinweis: Dieses Problem tritt auf, weil SCM keine lokal übersetzten Namen unterstützt, obwohl das Sicherheitssubsystem diese übersetzt. Zwar erhalten Sie auf einem fremden Server einen lokal übersetzten Namen für Ihr Konto, jedoch muss das Konto beim Verwenden von Funktionen wie CreateService oder ChangeServiceConfig den Typ NT AUTHORITYLocalService haben.
Wenn dieses Szenario zutrifft, besteht die einzige Lösung bisher darin, die englische Version der Namenskonvention zu verwenden.
Verwenden Sie daher anstelle von Befehlen in der lokalen Serversprache (wie z. B. AUTORITE NTSERVICE LOCAL) das englische Äquivalent (NT AUTHORITYLocalService).
Kommentare sind geschlossen.