Behebung des Fehlers „NT-AUTORITÄTS-/LOKALER DIENST kann nicht gefunden werden“
Der Fehler lautet:NT AUTHORITY/LOCAL SERVICE kann nicht gefunden werdenEin SQL-Server-Datenfehler tritt typischerweise bei der Verwendung von Visual Studio oder bei bestimmten Aufgaben unter Windows Server auf. Einige Benutzer stoßen nach der Installation neuer Serveranwendungen oder während der Kompilierung auf dieses Problem. Visual Studio-AnwendungAndere sehen es, wenn sie versuchen, einen Dienst mithilfe des Installationsprogramms zu installieren. fortschrittlich.
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 wir uns mit technischen Lösungen befassen, müssen Sie als Erstes sicherstellen, dass das Konto NT AUTHORITYLOKALER SERVICE Es ist bereits auf dem System vorhanden, das Sie verwenden möchten.
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 die Erstellung eines Benutzerkontos bereits bestätigt haben NT AUTHORITYLOKALER SERVICE Und wenn er ü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-Datenschichtanwendung in einem Visual Studio-Projekt auftritt, sehen Sie ihn wahrscheinlich nach dem Erstellen des Skripts, das die Datenschicht hinzufügt. NT AUTHORITYLOKALER SERVICE Zur Anmeldeliste unter Server Level Objects.
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 erhalten Sie wahrscheinlich eine Fehlermeldung beim Versuch, das Projekt zu kompilieren. „NT AUTHORITYLOCAL SERVICE konnte nicht gefunden werden, da er nicht existiert oder keine Genehmigung erteilt wurde.“.
Wenn dieses Szenario auf Sie zutrifft, liegt der Grund dafür, dass Sie kein [NT AUTHORITYLOCAL SERVICE]-Login erstellen können, darin, dass NT AUTHORITYLOKALER SERVICE In diesem Fall handelt es sich einfach um ein integriertes Windows-Dienstkonto. Jeder Dienst in SQL Server benötigt ein während der Installation festgelegtes Konto, 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 Gruppenmitglieder hat. BenutzerDiese Zugriffsbeschränkung dient dem Schutz des Systems für den Fall, dass bestimmte Dienste oder Prozesse beeinträchtigt werden.
Dienstleistungen, die als lokales Servicekonto fungieren Eine leere Sitzung wird verwendet, um auf Netzwerkressourcen zuzugreifen..
WichtigBeachten 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: Denken Sie daran, dass Es handelt sich lediglich um einen Platzhalter. Ersetzen Sie ihn durch den tatsächlichen Namen des 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, müssen Sie SQL Server Management Studio (Enterprise Manager) öffnen und die SQL-Instanz untersuchen, mit der Sie eine Verbindung herstellen möchten. Von dort aus müssen Sie zu folgendem Pfad navigieren: Sicherheit > Anmeldungen Erstellen Sie eine neue Anmeldung mit der Windows-Authentifizierungsmethode für NT-BEHÖRDE/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-AUTORITÄT/LOKALER DIENST zu ändern, und dies nicht funktioniert hat, können Sie das Problem möglicherweise mithilfe folgender Schritte beheben: Laden Sie das Installationsprogramm herunter Um den hexadezimalen Namen zu extrahieren, bevor die SQL-Datenbank neu erstellt und die Dateien erneut kopiert werden.
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 Beispielausschnitt. Ändern Sie den obigen Befehl, 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 dann wirksam, wenn Sie eine lokale Datenbank für SQL Server Management Studio verwenden und versuchen, Daten mithilfe einer ASP.NET-Anwendung in diese Datenbank 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 den Betrieb von NT AUTHORITY/LOCAL SERVICE innerhalb der Anwendung zulässt. Die Rolle des Systemadministrators.
Sie können dies tun, indem Sie öffnen Microsoft SQL Server Management Studio Ändern Sie die Eigenschaften des NT AUTHORITY/LOCAL-Dienstes, um die sysadmin-Rolle 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: Bitte bearbeiten *Servername* Im Namen des tatsächlichen Servers in Ihrem konkreten Fall.
- 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 Verwenden der Fehler „NT-AUTORITÄT/LOKALER DIENST kann nicht gefunden werden“ auftritt Erweitertes Installationsprogramm Der Fehler „NT AUTHORITYLOCAL SERVICE aufrufen“ könnte ein Symptom einer Fehlfunktion sein, die ausländische 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 für Ihr Konto auf einem fremden Server einen lokal übersetzten Namen, das Konto muss jedoch … NT AUTHORITYLocalService Bei der Verwendung von Funktionen wie CreateService Oder ChangeServiceConfig.
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.