Correction de l'erreur « NT AUTHORITY/LOCAL SERVICE introuvable »

L’erreur « Service NT AUTHORITY/LOCAL introuvable » est une erreur de données SQL Server qui se produit généralement avec Visual Studio ou lors de certaines tâches sous Windows Server. Certains utilisateurs rencontrent ce problème après l’installation de nouvelles applications serveur ou lors de la compilation d’ une application Visual Studio , tandis que d’autres le voient en tentant d’installer un service à l’aide de l’ outil d’installation avancée.

L'AUTORITÉ/LE SERVICE LOCAL DU TERRITOIRE N'A PAS ÉTÉ TROUVÉ

Plusieurs raisons courantes peuvent être à l'origine d'une erreur NT AUTHORITYNETWORK SERVICE, et ces raisons varient en fonction de votre cas d'utilisation.

Dans la plupart des cas, votre administrateur réseau a peut-être supprimé l'identifiant Windows spécifié pour diverses raisons. Par conséquent, vous ne pourrez pas autoriser l'accès à l'identifiant SQL Server.

Cette erreur peut également survenir lorsque vous tentez d'ajouter une nouvelle connexion avec le même identifiant de sécurité (SID) qu'une connexion existante dans SQL Server. Dans ce cas, le code d'erreur 15401 s'affiche également.

Toutefois, l’erreur « NT AUTHORITY/LOCAL SERVICE introuvable » se produit également lorsque la connexion se fait dans un domaine différent de celui du serveur SQL ou si le mécanisme de résolution de noms spécifique que vous utilisez (WINS, DNS, HOSTS ou LMHOSTS) n’est pas correctement configuré.

Vous trouverez ci-dessous une série de solutions éprouvées que d'autres utilisateurs concernés ont utilisées avec succès pour résoudre ce problème.

1. Vérifiez si NT AUTHORITYLOCAL SERVICE existe et dispose des autorisations nécessaires.

Avant de passer à des solutions plus techniques, la première chose à faire est de vérifier qu'un compte NT AUTHORITYLOCAL SERVICE existe déjà sur le système que vous essayez d'utiliser.

Si vous avez déterminé que le compte existe, prenez le temps de vérifier que vous disposez des privilèges suffisants pour créer l'identifiant et l'utilisateur associé nécessaires au niveau du serveur SQL.

Cette procédure peut varier légèrement selon votre version de Windows Server, mais les étapes générales restent les mêmes dans toutes les versions de Windows Server.

Voici ce que vous devez faire :

  1. Ouvert Tableau de bord Windows Server Essentials.
  2. Accédez à la barre de navigation principale et cliquez sur Utilisateurs.
    Accéder à l'onglet Utilisateurs
  3. Parcourez la liste des utilisateurs actuels et vérifiez si vous trouvez une entrée portant ce nom. SERVICE LOCAL DE L'AUTORITÉ DU TERRITOIRE DU NORD.
    Note: Si l'entrée associée à AUTORITÉ NTSERVICE LOCAL S'il est absent, cliquez sur le lien hypertexte. Ajouter un compte utilisateur Pour ouvrir Assistant d'ajout de compte utilisateur. À partir de là, suivez les instructions pour créer des utilisateurs pour NT AUTHORITYLOCAL SERVICE et assurez-vous que la convention d'appellation est correcte.
  4. Une fois le compte confirmé, vérifions qu'il dispose des autorisations nécessaires. Pour ce faire, cliquez sur Compte. AUTORITÉ NTSERVICE LOCAL Sous Utilisateurs, Passez ensuite à la partie suivante. Les tâches Et cliquez Propriétés.
  5. Ensuite, allez dans l'onglet général, Puis l'onglet Dossiers partagés, Puis l'onglet Accès depuis n'importe où Activez toutes les autorisations nécessaires à ce compte en fonction de votre cas d'utilisation. Activez les autorisations de compte requises
  6. Enregistrez les modifications et répétez la procédure qui provoquait auparavant l'erreur « NT AUTHORITY/LOCAL SERVICE introuvable », qui devrait maintenant être résolue.

Si vous avez déjà vérifié que le compte utilisateur NT AUTHORITYLOCAL SERVICE a été créé et qu'il dispose des autorisations nécessaires, passez à la méthode suivante ci-dessous.

2. Créez un compte de connexion pour SQL Server (le cas échéant).

Si vous rencontrez cette erreur lors de l'utilisation de l'application SQL Server Data Layer dans un projet Visual Studio, il est probable que vous la rencontriez après avoir créé le script qui ajoute NT AUTHORITYLOCAL SERVICE à la liste des connexions sous Objets au niveau du serveur.

Si vous utilisez les scripts suivants pour créer et ajouter des connexions dans des objets de niveau base de données, cette méthode est applicable :

CRÉER UN COMPTE DE CONNECTION [NT AUTHORITYLOCAL SERVICE] À PARTIR DE WINDOWS AVEC LA LANGUE PAR DÉFAUT=[us_english] CRÉER UN UTILISATEUR [NT AUTHORITYLOCAL SERVICE] POUR LE COMPTE DE CONNECTION [NT AUTHORITYLOCAL SERVICE]

Dans ce cas, vous risquez de rencontrer l'erreur suivante lors de la compilation du projet : « NT AUTHORITYLOCAL SERVICE est introuvable car il n'existe pas ou l'autorisation n'a pas été accordée ».

Si ce scénario vous concerne, la raison pour laquelle vous ne pouvez pas créer l'identifiant [NT AUTHORITYLOCAL SERVICE] est que, dans ce cas précis , NT AUTHORITYLOCAL SERVICE est simplement un compte de service Windows intégré. Chaque service de SQL Server doit disposer d'un compte défini lors de son installation pour pouvoir démarrer et fonctionner.

Les comptes de démarrage de SQL Server peuvent être des comptes système intégrés, des comptes d'utilisateurs locaux ou des comptes d'utilisateurs de domaine. Un compte de service local est un compte intégré qui a accès aux mêmes ressources et objets que les membres d'un groupe d'utilisateurs . Cet accès restreint contribue à protéger le système en cas de compromission de certains services ou processus.

Les services qui fonctionnent en tant que compte de service local utilisent une session vide pour accéder aux ressources réseau.

Important : Veuillez noter que les services SQL Server et SQL Server Agent ne prennent pas en charge le compte de service local. Le nom complet du compte est « NT AUTHORITY/LOCAL SERVICE ».

Pour résoudre ce problème, vous devrez créer une connexion SQL Server utilisant l'authentification Windows via Transact-SQL.

Pour ce faire, commencez par créer un utilisateur sous Windows, puis ouvrez la commande Transact-SQL suivante à l'aide de l'éditeur de requêtes et assurez-vous que le nom d'utilisateur est identique au nom d'utilisateur Windows :

CRÉER UN COMPTE DE CONNECTION DEPUIS WINDOWS ; ALLER

Remarque : <nom d’utilisateur Windows> n’est qu’un exemple. Remplacez-le par votre véritable nom d’utilisateur Windows.

3. Ajoutez les autorisations appropriées à la base de données SQL (le cas échéant).

Une autre raison pour laquelle vous pourriez rencontrer ce problème est un scénario où vous n'avez pas ajouté les autorisations correctes dans SQL pour NT AUTHORITY/LOCAL SERVICE et n'avez accordé le contrôle qu'au dossier.

Pour résoudre ce problème, ouvrez SQL Server Management Studio (Enterprise Manager) et explorez l'instance SQL à laquelle vous essayez de vous connecter. Accédez ensuite à Sécurité > Connexions et créez une nouvelle connexion en utilisant l'authentification Windows pour NT AUTHORITY/LOCAL SERVICE.

Voici un guide rapide sur la façon de procéder :

  1. Ouvrez la page de démarrage et tapez «SMS'.
  2. Dans la liste des résultats, sélectionnez Studio de gestion Microsoft SQL Server. Ouvrez SQL Management Studio
  3. Une fois dans l'outil Microsoft SQL Server Management Studio, accédez à l'instance SQL spécifique qui provoque l'erreur.
  4. Après avoir accédé avec succès à l'instance SQL spécifiée, parcourez-la jusqu'à Sécurité > Connexions (filtrées). Accéder au dossier des identifiants
  5. Cliquez avec le bouton droit sur l'élément principal, puis cliquez sur authentification windows.
  6. Ensuite, écrivez « AUTORITÉ DU TERRITOIRE DU NORD/SERVICE LOCAL » Vérifiez que vous avez créé les autorisations SQL appropriées.
  7. Assurez-vous d'ajouter les autorisations appropriées à ce nouveau compte si vous ne l'avez pas déjà fait.
    Note: Se référer à La méthode 1 Pour obtenir les étapes spécifiques.
  8. Répétez la procédure qui a causé le problème précédemment et vérifiez si le problème est maintenant résolu.

4. Reconstruisez la base de données SQL Server (si possible).

Si vous avez déjà essayé de modifier l'utilisateur « Ouvrir une session en tant que » dans le service SQL Server en NT AUTHORITY/LOCAL SERVICE et que cela n'a pas fonctionné, vous pourrez peut-être résoudre le problème en utilisant Download Installer pour extraire le nom hexadécimal avant de reconstruire la base de données SQL et de copier à nouveau les fichiers.

Voici un guide rapide sur la façon de procéder :

  1. Exécutez le programme d'installation téléchargé et laissez-le extraire les fichiers vers l'emplacement par défaut.
    Note: L'extraction sera publiée dans le répertoire racine de votre lecteur système (très probablement C:/) avec un long nom hexadécimal.
  2. Une fois l'extraction terminée, prenez le temps de copier tous les fichiers dans un dossier différent afin d'éviter que l'action suivante n'efface leur contenu.
  3. Fermez le programme d'installation.
    Note: Une fois cela fait, le contenu du dossier hexadécimal que vous avez créé à l'étape 2 sera effacé.
  4. Clique sur Touche Windows + R Pour ouvrir une boîte de dialogue Courir.
  5. Ensuite, écrivez 'cmd' Et presse Ctrl + Maj + Entrée à Ouvrez une invite de commandes avec des privilèges d'administrateur. À votre serviteur. Ouvrez une fenêtre d'invite de commandes avec des privilèges d'administrateur.
  6. quand . apparaît Contrôle du compte d'utilisateur (UAC), Cliquez نعم Accorder les pouvoirs de l'administrateur.
  7. Utilisation CD Pour accéder à l'emplacement où vous avez enregistré les fichiers extraits précédemment (à l'étape 3). Voici un exemple :
    CD C:23420247290247292740

    Remarque : Ceci n’est qu’un exemple. Modifiez la commande ci-dessus pour accéder à l’emplacement réel où vous avez enregistré les fichiers (à l’étape 3).

  8. Une fois arrivé à l'emplacement indiqué, exécutez la commande suivante pour recréer et reconstruire la base de données :
    configuration /action=Reconstruire la base de données /InstanceName=SQLEXPRESS /SqlSysAdminAccounts=BUILTINAdministrators
  9. Fermez l'invite de commandes (CMD) avec des privilèges d'administrateur et répétez la procédure qui provoquait l'erreur « NT AUTHORITY/LOCAL SERVICE introuvable » pour voir si le problème est maintenant résolu.

5. Configurez MachineGUID et redémarrez le service SQL.

Si vous avez rencontré cette erreur lors du démarrage de votre serveur SQL et que le problème est apparu après avoir modifié l'identifiant de connexion intégré de Service local à Système local, il est probable qu'il soit dû à une clé de registre MachineGUID qui ne pointe plus vers le chemin correct.

D'autres utilisateurs ayant rencontré une situation similaire ont confirmé avoir pu résoudre le problème en créant une sauvegarde de la clé à l'origine du problème avant de modifier le chemin d'accès et de redémarrer le service SQL.

Voici un guide rapide sur la façon de procéder :

  1. Appuyez sur la touche Windows + R Pour ouvrir une boîte de dialogue Courir.
  2. Ensuite, écrivez 'regedit' Et presse Ctrl + Maj + Entrée Pour ouvrir Éditeur de registre Avec les responsabilités du fonctionnaire. Ouvrir l'Éditeur du Registre
  3. Lorsqu'une fenêtre apparaît Contrôle de compte d'utilisateur (UAC), Cliquez sur نعم Accorder les pouvoirs de l'administrateur.
  4. À l'intérieur Éditeur de registreUtilisez le côté gauche pour accéder à l'emplacement suivant :
    HKLMSOFTWAREMicrosoftCryptographyMachineGuid
  5. Une fois l'emplacement correct trouvé, identifiez la clé à l'origine du problème. Elle devrait contenir le GUID du périphérique concerné, entre accolades (par exemple : {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}).
  6. Après avoir correctement identifié le périphérique concerné, nous devons créer une sauvegarde. Pour ce faire, assurez-vous que la clé du périphérique est sélectionnée, puis utilisez la barre de menus en haut pour accéder à… Fichier Et cliquez Exporter. Exporter le fichier
  7. Spécifiez un emplacement, donnez un nom de fichier reconnaissable et assurez-vous que le fichier est configuré. Enregistrer en tant que type إلى Fichiers de registre (*.reg).
  8. Enfin, avant de cliquer sur SauvegarderAssurez-vous de régler Portée de l'exportation إلى Branche spécifique Et que la branche correcte est spécifiée. Exporter la branche spécifique
  9. Cliquez Sauvegarder Pour terminer le processus de sauvegarde.
  10. Une fois la sauvegarde terminée, renommez la clé à l'origine du problème et supprimez les crochets.
    Note: La valeur doit changer GuideMachine من {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} إلى xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx.
  11. Une fois cette modification appliquée, fermez l'Éditeur du Registre, redémarrez l'ordinateur, puis démarrez le service SQL. Important: Si le service ne démarre pas immédiatement, désinstallez puis réinstallez SQL avant de redémarrer. Si vous obtenez une autre erreur, restaurez la sauvegarde d'origine créée à l'étape 8 et passez à la méthode suivante.

6. Modifier les affectations des utilisateurs

Si vous rencontrez l'erreur « NT AUTHORITY/LOCAL SERVICE introuvable » lors de la récupération de données depuis votre serveur SQL Server à l'aide d'ASP.NET, une solution rapide pour corriger toute cause locale consiste à modifier le mappage utilisateur avec ses valeurs correctes.

Remarque : ce correctif est efficace dans les cas où vous utilisez une base de données locale pour SQL Server Management Studio et que vous tentez d’y saisir des données à l’aide d’une application ASP.NET.

Si vous avez vérifié minutieusement les données d'entrée et que tout le code est correct, mais que vous recevez toujours l'erreur, suivez les instructions ci-dessous pour utiliser SQL Server Management Studio afin d'accéder à la page Connexions et modifier les mappages d'utilisateurs actuellement attribués à partir de l'écran Propriétés.

Voici un guide rapide, étape par étape, sur la façon de procéder :

  1. Appuyez sur la touche Démarrer de votre clavier, puis tapez «SMSSur la page d'accueil.
  2. Dans la liste des résultats, sélectionnez Studio de gestion Microsoft SQL Server. Ouvrir SQL Server Management Studio
  3. Ensuite, connectez-vous au serveur qui provoque l'erreur « NT AUTHORITY/LOCAL SERVICE introuvable ».
  4. Aller à SécuritéEntrez ensuite dans la sous-section Connexions.
  5. Dans le menu des options, cliquez avec le bouton droit sur NT SERVICE DE RÉSEAU D'AUTORITÉ ou AUTORITÉ NTSERVICE LOCAL (Selon votre scénario d'utilisation) et cliquez sur Propriétés Depuis le menu contextuel. Accéder à l'écran des propriétés du service local
  6. Une fois que vous entrez sur l'écran Propriétés de connexion، اختر Cartographie des utilisateurs En haut à gauche de l'écran.
  7. Sur la droite, vous verrez une liste de Rôles de base de donnéesAssurez-vous que la case à cocher est sélectionnée. propriétaire de la base de données, Puis appuyez sur D'ACCORD.
  8. Réexécutez le code qui causait le problème précédemment et vérifiez si le problème est maintenant résolu.

7. Accorder les privilèges du rôle d'administrateur système (le cas échéant)

Si vous rencontrez cette erreur en essayant d'accéder à une base de données pour une application créée localement, la première chose à vérifier est si la configuration actuelle autorise NT AUTHORITY/LOCAL SERVICE à fonctionner sous le rôle sysadmin.

Vous pouvez le faire en ouvrant Microsoft SQL Server Management Studio et en modifiant les propriétés du service NT AUTHORITY/LOCAL pour activer le rôle sysadmin.

Voici un guide rapide sur la façon de procéder :

  1. Appuyez sur la touche Commencer Sur le clavier, tapez ensuite 'SMSSur la page d'accueil.
  2. Dans la liste des résultats, sélectionnez Studio de gestion Microsoft SQL Server. Open SQL Management Studio
  3. Après cela, allez à الأمان et développez la liste Se connecter.
  4. Clic droit AUTORITÉ DU NT/Système local Puis cliquez sur Propriété Depuis le menu contextuel.
  5. Dans l'écran des propriétés, cliquez sur Rôles de serviteur Dans la barre latérale gauche.
  6. Allez à droite et assurez-vous que la case associée à sysadmin. Modification du rôle du serveur
  7. Enregistrez les modifications, puis redémarrez votre appareil et vérifiez si le problème est résolu.

Si vous ne pouvez pas accéder à Microsoft SQL Server Management Studio pour une raison quelconque, vous pouvez également appliquer ce correctif à partir d'une invite de commandes avec des privilèges d'administrateur (si vos privilèges d'accès le permettent).

Voici comment:

  1. Appuyez sur la touche Windows + R Pour ouvrir une boîte de dialogue Courir.
    Ensuite, écrivez 'cmd' Et presse Ctrl + Maj + Entrée Pour ouvrir Éditeur de registre Avec les responsabilités du fonctionnaire. Ouvrez une invite de commandes.
  2. Lorsqu'une réclamation apparaît Contrôle de compte d'utilisateur (UAC), Cliquez نعم Accorder les pouvoirs de l'administrateur.
  3. Dans une invite de commandes exécutée avec des privilèges élevés, saisissez la commande suivante (et modifiez l'espace réservé) pour accéder au serveur spécifique à l'origine du problème :
    sqlcmd -S (*nom du serveur*)

    Remarque : Veillez à remplacer *nom du serveur* par le nom réel de votre serveur.

  4. Ensuite, saisissez la commande suivante et appuyez sur Entrée. Entrer Pour accéder au serveur SQL sur votre machine :
    SELECT name FROM sys.server_principals WHERE name = 'NT AUTHORITYSYSTEM'
  5. Ensuite, saisissez la commande suivante pour récupérer le résultat et l'utiliser dans procédure de tri Des droits seront ajoutés sysmin À elle :
    SP_ADDSRVROLEMEMBER 'NT AUTHORITYSYSTEM','SYSADMIN'
  6. Une fois les deux problèmes résolus, fermez l'invite de commandes (CMD) élevée et répétez la procédure qui provoquait l'erreur « NT AUTHORITY/LOCAL SERVICE introuvable ».

8. Changez la langue du serveur en anglais (le cas échéant).

Si vous rencontrez l'erreur « NT AUTHORITY/LOCAL SERVICE introuvable » lors de l'utilisation d'Advanced Installer pour appeler NT AUTHORITY/LOCAL SERVICE, cette erreur peut être le symptôme d'un bogue affectant les serveurs externes.

Ce problème est confirmé lorsque certains utilisateurs d'Advanced Installer tentent d'exécuter manuellement le service XUA Automation Server via l'écran Service ou lorsqu'ils tentent de l'exécuter manuellement en saisissant uniquement le nom d'utilisateur (sans autorité NT).

Remarque : Ce problème survient car le SCM ne prend pas en charge les noms traduits localement, même si le sous-système de sécurité les traduit. Bien que vous receviez un nom traduit localement pour votre compte sur un serveur distant, ce compte doit être NT AUTHORITYLocalService pour pouvoir utiliser des fonctions telles que CreateService ou ChangeServiceConfig.

Si ce scénario s'applique, la seule solution pour l'instant est d'utiliser la version anglaise de la convention d'appellation.

Par conséquent, au lieu d'utiliser des commandes dans le langage du serveur local (telles que AUTORITE NTSERVICE LOCAL), utilisez l'équivalent anglais (NT AUTHORITYLocalService).

Les commentaires sont fermés.