Correzione dell'errore NT AUTHORITY/LOCAL SERVICE non trovato
L'errore è "Impossibile trovare NT AUTHORITY/LOCAL SERVICEUn errore nei dati di SQL Server si verifica in genere con Visual Studio o durante l'esecuzione di determinate attività nelle versioni di Windows Server. Alcuni utenti riscontrano questo problema dopo l'installazione di nuove applicazioni server o durante la compilazione. Applicazione Visual StudioAltri lo vedono quando provano a installare un servizio tramite il programma di installazione. Avanzate.
Esistono diverse cause comuni che possono causare un errore NT AUTHORITYNETWORK SERVICE e queste cause variano a seconda del caso d'uso.
Nella maggior parte dei casi, l'amministratore di rete potrebbe aver rimosso l'account di accesso Windows specificato per vari motivi. Di conseguenza, non sarà possibile concedere l'accesso all'account di accesso di SQL Server.
Un altro motivo per cui potresti visualizzare questo errore è quando provi ad aggiungere un nuovo account di accesso con lo stesso ID di sicurezza (SID) di un account di accesso esistente in SQL Server. In questo caso, dovresti visualizzare anche il codice di errore 15401.
Tuttavia, è stato confermato che l'errore "NT AUTHORITY/LOCAL SERVICE non può essere trovato" si verifica anche quando l'accesso avviene in un dominio diverso da quello del server SQL o se il meccanismo di risoluzione specifico del nome utilizzato (WINS, DNS, HOSTS o LMHOSTS) non è configurato correttamente.
Di seguito troverete una serie di soluzioni collaudate che altri utenti interessati hanno utilizzato con successo per arrivare al nocciolo del problema.
1. Verificare se NT AUTHORITYLOCAL SERVICE esiste e dispone delle autorizzazioni necessarie.
Prima di passare a soluzioni più tecniche, la prima cosa che devi fare è assicurarti che l'account AUTORITÀ NTSERVIZIO LOCALE Esiste già sul sistema che stai tentando di utilizzare.
Se hai accertato che l'account esiste, assicurati di disporre dei privilegi sufficienti per creare l'accesso necessario e l'utente associato a livello di SQL Server.
Questa procedura varia leggermente a seconda della versione di Windows Server, ma i passaggi generali sono gli stessi in ogni versione di Windows Server.
Ecco cosa devi fare:
- Aperto Dashboard di Windows Server Essentials.
- Vai alla barra di navigazione principale e clicca su Utenti.
- Sfoglia l'elenco degli utenti attuali e controlla se riesci a trovare una voce con il nome AUTORITÀ NTSERVIZIO LOCALE.
Nota: Se l'input associato a AUTORITÀ NTSERVIZIO LOCALE Se manca, clicca sul collegamento ipertestuale. Aggiungi un account utente Aprire Procedura guidata per l'aggiunta di un account utente. Da lì, seguire le istruzioni per creare utenti per NT AUTHORITYLOCAL SERVICE e assicurarsi che la convenzione di denominazione sia corretta. - Una volta confermata l'esistenza dell'account, assicuriamoci che disponga delle autorizzazioni necessarie. Per farlo, clicca su Account. AUTORITÀ NTSERVIZIO LOCALE entro Utenti, Poi passa alla parte missione وانقر mp Proprietà.
- Successivamente, vai alla scheda generale, Poi la scheda Cartelle condivise, Poi la scheda Accesso da qualsiasi luogo Abilita tutte le autorizzazioni di cui questo account ha bisogno in base al tuo caso d'uso.
- Salvare le modifiche e ripetere la procedura che in precedenza causava l'errore "NT AUTHORITY/LOCAL SERVICE non può essere trovato", che ora dovrebbe essere risolto.
Se hai già confermato la creazione di un account utente AUTORITÀ NTSERVIZIO LOCALE E se ha le autorizzazioni necessarie, allora procedi con il metodo successivo.
2. Creare un account di accesso per SQL Server (se applicabile)
Se si verifica questo errore durante l'utilizzo dell'applicazione del livello dati di SQL Server in un progetto di Visual Studio, è probabile che venga visualizzato questo errore dopo aver creato lo script che aggiunge AUTORITÀ NTSERVIZIO LOCALE All'elenco di accesso in Oggetti a livello di server.
Se si utilizzano i seguenti script per creare e aggiungere accessi all'interno di oggetti a livello di database, questo metodo è applicabile:
CREA ACCESSO [NT AUTHORITYLOCAL SERVICE] DA WINDOWS CON DEFAULT_LANGUAGE=[us_english] CREA UTENTE [NT AUTHORITYLOCAL SERVICE] PER ACCESSO [NT AUTHORITYLOCAL SERVICE]
In questo caso, è probabile che venga visualizzato un messaggio di errore quando si tenta di compilare il progetto. “Impossibile trovare NT AUTHORITYLOCAL SERVICE perché non esiste o non è stata concessa l'autorizzazione.”.
Se questo scenario si applica a te, il motivo per cui non riesci a creare un accesso [NT AUTHORITYLOCAL SERVICE] è che AUTORITÀ NTSERVIZIO LOCALE In questo caso, si tratta semplicemente di un account di servizio Windows integrato. Ogni servizio in SQL Server deve disporre di un account identificato durante l'installazione per poter essere avviato e funzionare.
Gli account di avvio di SQL Server possono essere account di sistema predefiniti, account utente locali o account utente di dominio. Un account di servizio locale è un account predefinito che ha accesso alle stesse risorse e oggetti dei membri del gruppo. UtentiQuesto accesso limitato serve a proteggere il sistema nel caso in cui determinati servizi o processi vengano compromessi.
Servizi che operano come account di servizio locale Per accedere alle risorse di rete viene utilizzata una sessione vuota..
ImportanteSi prega di notare che i servizi SQL Server o SQL Server Agent non supportano l'account di servizio locale. Il nome completo dell'account è "NT AUTHORITY/LOCAL SERVICE".
Per superare questo problema, sarà necessario creare un account di accesso a SQL Server che utilizzi l'autenticazione di Windows tramite Transact-SQL.
Per fare ciò, inizia creando un utente in Windows, quindi apri il seguente comando Transact-SQL utilizzando l'editor di query e assicurati che il nome di accesso sia lo stesso del nome utente di Windows:
CREA ACCESSO DA WINDOWS; VAI
Nota: Tieni presente che È solo un segnaposto. Sostituiscilo con il nome effettivo dell'utente Windows.
3. Aggiungere le autorizzazioni corrette al SQL (se applicabile)
Un altro motivo per cui potresti riscontrare questo problema è uno scenario in cui non hai aggiunto le autorizzazioni corrette in SQL per NT AUTHORITY/LOCAL SERVICE e hai concesso il controllo solo alla cartella.
Per risolvere questo problema, è necessario aprire SQL Server Management Studio (Enterprise Manager) ed esplorare l'istanza SQL a cui si sta tentando di connettersi. Da lì, è necessario accedere a Sicurezza > Accessi Crea un nuovo accesso utilizzando il metodo di autenticazione di Windows per AUTORITÀ NT/SERVIZIO LOCALE.
Ecco una guida rapida su come farlo:
- Apri la pagina iniziale e digita 'SSSM'.
- Dall'elenco dei risultati, seleziona Microsoft SQL Server Management Studio SQL.
- Una volta aperto lo strumento Microsoft SQL Server Management Studio, accedi all'istanza SQL specifica che causa l'errore.
- Dopo aver effettuato correttamente l'accesso all'istanza SQL specificata, esplorarla fino a Sicurezza > Accessi (filtrati).
- Fare clic con il pulsante destro del mouse sull'elemento principale, quindi fare clic su Autenticazione di Windows.
- Quindi, scrivi 'AUTORITÀ NT/SERVIZIO LOCALE' Verifica di aver creato le autorizzazioni SQL corrette.
- Assicurati di aggiungere le autorizzazioni appropriate a questo nuovo account, se non l'hai già fatto.
Nota: Fare riferimento al Metodo 1 Per ottenere passaggi specifici. - Ripetere la procedura che ha causato il problema in precedenza e verificare se il problema è stato risolto.
4. Ricostruire il database di SQL Server (se possibile)
Se hai già provato a cambiare l'utente "Accedi come" nel servizio SQL Server in NT AUTHORITY/LOCAL SERVICE e non ha funzionato, potresti riuscire a risolvere il problema utilizzando Scarica il programma di installazione Per estrarre il nome esadecimale prima di ricostruire il database SQL e copiare nuovamente i file.
Ecco una guida rapida su come farlo:
- Eseguire il programma di installazione scaricato e lasciare che estragga i file nella posizione predefinita.
Nota: L'estrazione verrà pubblicata nella directory principale dell'unità del sistema operativo (molto probabilmente C:/) con un nome esadecimale lungo. - Una volta completata l'estrazione, prenditi il tempo di copiare tutti i file in una cartella diversa per evitare che l'azione successiva ne cancelli il contenuto.
- Chiudere il programma di installazione.
Nota: Una volta fatto questo, il contenuto della cartella esadecimale creata nel passaggio 2 verrà cancellato. - Clicca su Tasto Windows + R Per aprire una finestra di dialogo Correre.
- Quindi, scrivi "cmd" واضغط ج CTRL + MAIUSC + INVIO a Aprire un prompt dei comandi con privilegi amministrativi Al tuo servo.
- quando appare Controllo dell'account utente (UAC), Clicca su نعم Per conferire i poteri dell'amministratore.
- uso CD Per accedere alla posizione in cui hai salvato i file estratti in precedenza (dal passaggio 3), ecco un esempio:
CD C:23420247290247292740
Nota: Questo è solo un frammento di esempio. Modifica il comando precedente per spostarti nella posizione effettiva in cui hai salvato i file (nel passaggio 3).
- Una volta raggiunta la posizione corretta, esegui il seguente comando per ricreare e ricostruire il database:
configurazione /azione=RicostruisciDatabase /NomeIstanza=SQLEXPRESS /SqlSysAdminAccounts=BUILTINAdministrators
- Chiudere il prompt dei comandi (CMD) con privilegi amministrativi e ripetere la procedura che causava l'errore "Impossibile trovare NT AUTHORITY/LOCAL SERVICE" per verificare se il problema è stato risolto.
5. Configurare MachineGUID e riavviare il servizio SQL
Se hai riscontrato questo errore durante il tentativo di avvio di SQL Server e il problema ha iniziato a presentarsi dopo aver modificato l'accesso predefinito da Servizio locale a Sistema locale, è probabile che il problema sia causato da una chiave del Registro di sistema MachineGUID che non punta più al percorso corretto.
Altri utenti che hanno riscontrato una situazione simile hanno confermato di essere riusciti a risolvere il problema creando un backup della chiave che causava il problema prima di modificare il percorso e riavviare il servizio SQL.
Ecco una guida rapida su come farlo:
- premere il tasto Windows + R Per aprire una finestra di dialogo تشغيل.
- Quindi, scrivi "regedit" واضغط ج CTRL + MAIUSC + INVIO Aprire Editore del Registro di sistema Poteri dell'amministratore.
- Quando appare una finestra Controllo dell'account utente (UAC)، انقر ج نعم Per conferire i poteri dell'amministratore.
- accedere Editore del Registro di sistemaUtilizzare il lato sinistro per navigare fino alla seguente posizione:
HKLMSOFTWAREMicrosoftCryptographyMachineGuid
- Una volta individuata la posizione corretta, identifica la chiave che causa il problema. Dovrebbe contenere il GUID del dispositivo interessato racchiuso tra parentesi graffe (ad esempio: {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}).
- Dopo aver identificato correttamente il dispositivo interessato, dobbiamo creare un backup. Per farlo, assicurati che la chiave del dispositivo sia selezionata, quindi utilizza la barra dei file in alto per accedere a... un file وانقر mp Esportare.
- Specificare una posizione, fornire un nome file riconoscibile e assicurarsi che il file sia impostato salva gentile per me File di registro (*.reg).
- Infine, prima di cliccare su SalvaAssicurati di impostare Ambito di esportazione per me Ramo specifico E che sia specificato il ramo corretto.
- Clicca su Salva Per completare il processo di backup.
- Una volta completato il backup, rinominare la chiave che causa il problema e rimuovere le parentesi.
Nota: Il valore deve cambiare MachineGuid Di {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} per me xxxxxxxxxxxx-xxxxxxxx-xxxxxxxxxxxx. - Una volta applicata questa modifica, chiudere l'Editor del Registro di sistema, riavviare e quindi avviare il servizio SQL. Importante: Se il servizio non si avvia immediatamente, disinstallare e reinstallare SQL prima di riavviare. Se si riceve un errore diverso, ripristinare il backup originale creato al passaggio 8 e procedere con il metodo successivo.
6. Modificare le assegnazioni degli utenti
Se si verifica l'errore "NT AUTHORITY/LOCAL SERVICE cannot be found" quando si tenta di recuperare dati da SQL Server tramite asp.net, un modo rapido per risolvere qualsiasi causa locale è modificare il mapping utente con i valori corretti.
Nota: Questa correzione è efficace nei casi in cui si utilizza un database locale per SQL Server Management Studio e si tenta di immettere dati al suo interno tramite un'applicazione asp.net.
Se hai controllato attentamente l'input e tutto il codice è corretto ma continui a ricevere l'errore, segui le istruzioni riportate di seguito per utilizzare SQL Server Management Studio per accedere alla pagina Accessi e modificare i mapping utente attualmente assegnati dalla schermata Proprietà.
Ecco una guida rapida e dettagliata su come farlo:
- Premi il tasto Start sulla tastiera, quindi digita 'SSSMNella pagina iniziale.
- Dall'elenco dei risultati, seleziona Studio di gestione di Microsoft SQL Server.
- Successivamente, accedi al server che causa l'errore "NT AUTHORITY/LOCAL SERVICE non può essere trovato".
- Vai a SicurezzaQuindi entra nella sottosezione Accessi.
- Dal menu delle opzioni, fare clic con il pulsante destro del mouse su NT SERVIZIO DI RETE DELL'AUTORITÀ O AUTORITÀ NTSERVIZIO LOCALE (A seconda dello scenario di utilizzo) e fare clic su Proprietà dal menu contestuale.
- Una volta entrati nella schermata Proprietà di accesso, Scegliere Mappature utente Dalla sezione in alto a sinistra dello schermo.
- Sul lato destro vedrai un elenco di Ruoli del databaseAssicurati che la casella di controllo sia selezionata. proprietario del database، ثم انقر ج OK.
- Esegui nuovamente il codice che in precedenza causava il problema e verifica se il problema è stato risolto.
7. Concedere i privilegi del ruolo di amministratore di sistema (se applicabile)
Se si verifica questo errore durante il tentativo di accesso a un database per un'applicazione creata localmente, la prima cosa da verificare è se la configurazione corrente consente a NT AUTHORITY/LOCAL SERVICE di operare al suo interno. Il ruolo dell'amministratore di sistema.
Puoi farlo aprendo Microsoft SQL Server Management Studio SQL Modificare le proprietà del servizio NT AUTHORITY/LOCAL per abilitare il ruolo sysadmin.
Ecco una guida rapida su come farlo:
- premere il tasto Cominciare Sulla tastiera, quindi digita 'SSSMNella pagina iniziale.
- Dall'elenco dei risultati, seleziona Studio di gestione di Microsoft SQL Server.
- Dopodiché, vai a الأمان ed espandere l'elenco Login.
- انقر بزر الماوس الأيمن ى AUTORITÀ NT/Sistema locale Quindi clicca su ا dal menu contestuale.
- Nella schermata delle proprietà, fare clic su Ruoli di servizio Dalla barra laterale sinistra.
- Vai sul lato destro e assicurati che la casella associata a sysadmin.
- Salva le modifiche, quindi riavvia il dispositivo e verifica se il problema è stato risolto.
Se per qualsiasi motivo non è possibile accedere a Microsoft SQL Server Management Studio, è possibile applicare questa correzione anche da un prompt dei comandi con privilegi amministrativi (se i privilegi di accesso lo consentono).
Ecco come farlo:
- premere il tasto Windows + R Per aprire una finestra di dialogo تشغيل.
Quindi, scrivi "cmd" واضغط ج CTRL + MAIUSC + INVIO Aprire Editore del Registro di sistema Poteri dell'amministratore.
- Quando appare un reclamo Controllo dell'account utente (UAC), Clic نعم Per conferire i poteri dell'amministratore.
- All'interno di un prompt dei comandi eseguito con privilegi elevati, digitare il seguente comando (e modificare il segnaposto) per accedere al server specifico che causa il problema:
sqlcmd -S (*nome server*)
Nota: Assicurati di modificare *Nome del server* Nel nome del server effettivo nel tuo caso specifico.
- Quindi, digita il seguente comando e premi Invio entra Per accedere al server SQL sul tuo computer:
seleziona nome da sys.server_principals dove nome = 'NT AUTHORITYSYSTEM'
- Quindi, digitare il seguente comando per recuperare il risultato e utilizzarlo in Procedura di ordinamento Dove verranno aggiunti i diritti sistema A lei:
SP_ADDSRVROLEMEMBER 'NT AUTHORITYSYSTEM','SYSADMIN'
- Una volta risolti entrambi i problemi, chiudere il prompt dei comandi con privilegi elevati (CMD) e ripetere la procedura che causava l'errore "NT AUTHORITY/LOCAL SERVICE non può essere trovato".
8. Cambia la lingua del server in inglese (se applicabile)
Se si verifica l'errore "NT AUTHORITY/LOCAL SERVICE non può essere trovato" quando si utilizza Installatore avanzato Per chiamare NT AUTHORITYLOCAL SERVICE, l'errore potrebbe essere un sintomo derivante da un malfunzionamento che interessa i server esterni.
Questo problema viene confermato quando alcuni utenti di Advanced Installer tentano di eseguire manualmente il servizio XUA Automation Server tramite la schermata Servizio o quando tentano di eseguirlo manualmente digitando solo il nome utente (senza NT Authority).
Nota: Questo problema si verifica perché SCM non supporta i nomi tradotti localmente, anche se il sottosistema di sicurezza li traduce. Sebbene riceverai un nome tradotto localmente per il tuo account su un server esterno, l'account deve essere NT AUTHORITYLocalService Quando si utilizzano funzioni come Crea servizio O ModificaConfigurazioneServizio.
Se questo scenario si verifica, l'unica soluzione finora è quella di utilizzare la versione inglese della convenzione di denominazione.
Pertanto, anziché utilizzare comandi nella lingua del server locale (ad esempio AUTORITE NTSERVICE LOCAL), utilizzare l'equivalente inglese (NT AUTHORITYLocalService).
I commenti sono chiusi.