Corrigindo o erro "NT AUTHORITY/LOCAL SERVICE não encontrado"
O erro “ NT AUTHORITY/LOCAL SERVICE não foi encontrado ” é um erro de dados do SQL Server que normalmente ocorre com o Visual Studio ou ao executar determinadas tarefas no Windows Server. Enquanto alguns usuários encontram esse problema após instalar novos aplicativos de servidor ou ao compilar um aplicativo do Visual Studio , outros o veem ao tentar instalar um serviço usando o Instalador Avançado.
Existem vários motivos comuns que podem levar a um erro NT AUTHORITYNETWORK SERVICE, e esses motivos variam dependendo do seu caso de uso.
Na maioria dos casos, o administrador de rede pode ter removido o login do Windows especificado por vários motivos. Consequentemente, você não poderá conceder acesso ao login do SQL Server.
Outro motivo para você ver esse erro é quando tenta adicionar um novo login com o mesmo ID de segurança (SID) de um login existente no SQL Server. Nesse caso, você também verá o código de erro 15401.
No entanto, também foi confirmado que o erro “NT AUTHORITY/LOCAL SERVICE não foi encontrado” ocorre quando o login está em um domínio diferente do servidor SQL ou se o mecanismo de resolução de nomes específico que você está usando (WINS, DNS, HOSTS ou LMHOSTS) não estiver configurado corretamente.
Abaixo, você encontrará uma série de soluções comprovadas que outros usuários afetados utilizaram com sucesso para resolver o problema na sua origem.
1. Verifique se o serviço NT AUTHORITYLOCAL SERVICE existe e possui as permissões necessárias.
Antes de passar para soluções mais técnicas, a primeira coisa que você precisa fazer é garantir que já exista uma conta NT AUTHORITYLOCAL SERVICE no sistema que você está tentando usar.
Se você já determinou que a conta existe, certifique-se de ter privilégios suficientes para criar o login e o usuário associados necessários no nível do SQL Server.
Este procedimento pode variar ligeiramente dependendo da sua versão do Windows Server, mas os passos gerais são os mesmos em todas as versões do Windows Server.
Eis o que você precisa fazer:
- Abrir Painel de controle do Windows Server Essentials.
- Acesse a barra de navegação principal e clique em Usuários.
- Navegue pela lista de usuários atuais e verifique se você consegue encontrar uma entrada com o nome. SERVIÇO LOCAL DA AUTORIDADE DO TERRITÓRIO DO NORTE.
ملاحظة: Se a entrada associada a AUTORIDADE NTSERVIÇO LOCAL Se estiver faltando, clique no hiperlink. Adicionar uma conta de usuário لفتح Assistente para adicionar conta de usuário. A partir daí, siga as instruções para criar usuários para o serviço NT AUTHORITYLOCAL e certifique-se de que a convenção de nomenclatura esteja correta. - Depois de confirmarmos que a conta existe, vamos garantir que ela tenha as permissões necessárias. Para isso, clique em Conta. AUTORIDADE NTSERVIÇO LOCAL Dentro de Usuários, Em seguida, passe para a parte missão E clique em Propriedades.
- Em seguida, vá para a guia em geral, Em seguida, tabule Pastas compartilhadas, Em seguida, tabule Acesse de qualquer lugar Habilite todas as permissões necessárias para esta conta, de acordo com o seu caso de uso.
- Salve as alterações e repita o procedimento que anteriormente causou o erro “NT AUTHORITY/LOCAL SERVICE não encontrado”, que agora deve estar corrigido.
Se você já verificou se a conta de usuário NT AUTHORITYLOCAL SERVICE foi criada e se possui as permissões necessárias, prossiga para o próximo método abaixo.
2. Crie um login para o SQL Server (se aplicável)
Se você encontrar esse erro ao usar o aplicativo SQL Server Data Layer em um projeto do Visual Studio, provavelmente o está vendo após criar o script que adiciona o serviço NT AUTHORITYLOCAL SERVICE à lista de logins em Objetos de Nível de Servidor.
Se você usar os seguintes scripts para criar e adicionar logins em objetos de nível de banco de dados, este método será aplicável:
CRIAR LOGIN [NT AUTHORITYLOCAL SERVICE] DO WINDOWS COM IDIOMA_PADRÃO=[us_english] CRIAR USUÁRIO [NT AUTHORITYLOCAL SERVICE] PARA LOGIN [NT AUTHORITYLOCAL SERVICE]
Nesse caso, é provável que você encontre o erro ao tentar compilar o projeto com a mensagem de erro “O serviço NT AUTHORITYLOCAL não pôde ser encontrado porque não existe ou a permissão não foi concedida”.
Se este cenário se aplica a você, o motivo pelo qual você não consegue criar o login [NT AUTHORITYLOCAL SERVICE] é que, neste caso , NT AUTHORITYLOCAL SERVICE é simplesmente uma conta de serviço integrada do Windows. Cada serviço no SQL Server precisa ter uma conta identificada durante a instalação para ser iniciado e funcionar.
As contas de inicialização do SQL Server podem ser contas de sistema internas, contas de usuário locais ou contas de usuário de domínio. Uma conta de serviço local é uma conta interna que tem acesso aos mesmos recursos e objetos que os membros de um grupo de usuários . Esse acesso restrito ajuda a proteger o sistema caso determinados serviços ou processos sejam comprometidos.
Os serviços que operam como uma conta de serviço local usam uma sessão vazia para acessar recursos de rede.
Importante : Observe que os serviços do SQL Server ou do SQL Server Agent não são compatíveis com a conta de serviço local. O nome completo da conta é “NT AUTHORITY/LOCAL SERVICE”.
Para contornar esse problema, você precisará criar um login do SQL Server que utilize a autenticação do Windows via Transact-SQL.
Para isso, comece criando um usuário no Windows e, em seguida, abra o seguinte comando Transact-SQL usando o Editor de Consultas. Certifique-se de que o nome de login seja o mesmo que o nome de usuário do Windows:
CRIAR LOGIN DO WINDOWS; IR
Observação: Lembre-se de que <nome do usuário do Windows> é apenas um marcador. Substitua-o pelo nome real do seu usuário do Windows.
3. Adicione as permissões corretas ao SQL (se aplicável)
Outro motivo pelo qual você pode encontrar esse problema é um cenário em que você não adicionou as permissões corretas no SQL para o serviço NT AUTHORITY/LOCAL e concedeu controle apenas à pasta.
Para corrigir esse problema, você precisará abrir o SQL Server Management Studio (Enterprise Manager) e explorar a instância do SQL à qual está tentando se conectar. A partir daí, você precisará acessar Segurança > Logins e criar um novo login usando o método de Autenticação do Windows para NT AUTHORITY/LOCAL SERVICE.
Aqui está um guia rápido sobre como fazer isso:
- Abra a página inicial e digite 'ssms'.
- Na lista de resultados, selecione Estúdio de gerenciamento do Microsoft SQL Server.
- Após acessar a ferramenta Microsoft SQL Server Management Studio, navegue até a instância SQL específica que está causando o erro.
- Após acessar com sucesso a instância SQL especificada, navegue até ela. Segurança > Logins (filtrados).
- Clique com o botão direito do mouse no item principal e, em seguida, clique em Autenticação do Windows.
- A seguir, digite 'AUTORIDADE DO TERRITÓRIO DO NORTE/SERVIÇO LOCAL' Confirme se você criou as permissões SQL corretas.
- Certifique-se de adicionar as permissões apropriadas a esta nova conta, caso ainda não o tenha feito.
ملاحظة: Consulte o Método 1 Para obter instruções específicas. - Repita o procedimento que causou o problema anteriormente e verifique se o problema foi resolvido.
4. Recrie o banco de dados do SQL Server (se possível)
Se você já tentou alterar o usuário "Fazer logon como" no serviço do SQL Server para NT AUTHORITY/LOCAL SERVICE e isso não funcionou, talvez seja possível resolver o problema usando o instalador para extrair o nome hexadecimal antes de reconstruir o banco de dados SQL e copiar os arquivos novamente.
Aqui está um guia rápido sobre como fazer isso:
- Execute o instalador baixado e deixe-o extrair os arquivos para o local padrão.
ملاحظة: O arquivo extraído será publicado no diretório raiz da unidade do seu sistema operacional (provavelmente C:/) com um nome hexadecimal longo. - Após a extração, aproveite para copiar todos os arquivos para uma pasta diferente, evitando que a próxima ação apague o conteúdo.
- Feche o instalador.
ملاحظة: Após realizar esse procedimento, o conteúdo da pasta hexadecimal criada na etapa 2 será apagado. - Clique em Tecla do Windows + R Para abrir um diálogo Execute.
- A seguir, digite 'cmd' E pressione Ctrl + Shift + Enter Para Abra um prompt de comando com privilégios de administrador. Ao seu servo.
- ao aparecer Controle de conta de usuário (UAC), toque em نعم Para conferir os poderes do administrador.
- usar CD Para navegar até o local onde você salvou os arquivos extraídos anteriormente (na etapa 3). Aqui está um exemplo:
CD C:23420247290247292740
Observação: Este é apenas um exemplo de trecho de código. Modifique o comando acima para navegar até o local onde você salvou os arquivos (na etapa 3).
- Após acessar o local correto, execute o seguinte comando para recriar e reconstruir o banco de dados:
setup /action=RebuildDatabase /InstanceName=SQLEXPRESS /SqlSysAdminAccounts=BUILTINAdministrators
- Feche o Prompt de Comando (CMD) com privilégios de administrador e repita o procedimento que estava causando o erro 'NT AUTHORITY/LOCAL SERVICE não encontrado' para verificar se o problema foi resolvido.
5. Configure o MachineGUID e reinicie o serviço SQL.
Se você encontrou esse erro ao tentar iniciar o SQL Server e o problema começou a aparecer depois de alterar o login integrado de Serviço Local para Sistema Local, é provável que o problema seja causado por uma chave de registro MachineGUID que não aponta mais para o caminho correto.
Outros usuários que se depararam com uma situação semelhante confirmaram que conseguiram resolver o problema criando um backup da chave que estava causando o problema antes de modificar o caminho e reiniciar o serviço SQL.
Aqui está um guia rápido sobre como fazer isso:
- Pressione uma tecla Windows + R Para abrir um diálogo تشغيل.
- A seguir, digite 'regedit' E pressione Ctrl + Shift + Enter لفتح Editor de registro Com poderes de administrador.
- Quando uma janela aparece Controle de Conta de Usuário (UAC), toque em نعم Para conferir os poderes do administrador.
- dentro Editor de registroUtilize o lado esquerdo para navegar até o seguinte local:
HKLMSOFTWAREMicrosoftCryptographyMachineGuid
- Depois de localizar o local correto, identifique a chave que está causando o problema. Ela deve conter o GUID do dispositivo afetado entre chaves (por exemplo: {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}).
- Após identificar corretamente o dispositivo afetado, precisamos criar um backup. Para isso, certifique-se de que a chave do dispositivo esteja selecionada e, em seguida, use a barra de arquivos na parte superior para navegar até... um arquivo E clique em Exportar.
- Especifique um local, dê um nome de arquivo reconhecível e certifique-se de que o arquivo esteja configurado. Salvar por tipo إلى Arquivos de registro (*.reg).
- Finalmente, antes de clicar em Salve Certifique-se de configurar intervalo de exportação إلى Ramo específico E que o ramo correto seja especificado.
- toque em Salve Para concluir o processo de backup.
- Após a conclusão do backup, renomeie a chave que está causando o problema e remova os colchetes.
ملاحظة: O valor deve mudar. Guia da Máquina De {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} إلى xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. - Após aplicar essa alteração, feche o Editor do Registro, reinicie o navegador e, em seguida, inicie o serviço SQL. Importante: Se o serviço não iniciar imediatamente, desinstale e reinstale o SQL antes de reiniciar. Se você receber um erro diferente, restaure o backup original criado na etapa 8 e prossiga para o próximo método abaixo.
6. Modificar atribuições de usuário
Se você se deparar com o erro 'NT AUTHORITY/LOCAL SERVICE não encontrado' ao tentar buscar dados do seu SQL Server usando ASP.NET, uma maneira rápida de corrigir qualquer causa local é modificar o mapeamento de usuário para os valores corretos.
Observação: essa correção é eficaz nos casos em que você está usando um banco de dados local para o SQL Server Management Studio e tentando inserir dados nele usando um aplicativo ASP.NET.
Se você verificou cuidadosamente a entrada e todo o código está correto, mas ainda está recebendo o erro, siga as instruções abaixo para usar o SQL Server Management Studio para acessar a página Logins e modificar os Mapeamentos de Usuário atribuídos atualmente na tela Propriedades.
Aqui está um guia rápido, passo a passo, sobre como fazer isso:
- Pressione a tecla Iniciar no seu teclado e digite 'ssmsNa página inicial.
- Na lista de resultados, selecione Estúdio de gerenciamento do Microsoft SQL Server.
- Em seguida, faça login no servidor que está causando o erro 'NT AUTHORITY/LOCAL SERVICE não encontrado'.
- Vamos para SegurançaEm seguida, entre na subseção. Logins.
- No menu de opções, clique com o botão direito do mouse em NT. SERVIÇO DE REDE DE AUTORIDADE أو AUTORIDADE NTSERVIÇO LOCAL (Dependendo do seu cenário de uso) e clique em Propriedades No menu de contexto.
- Assim que você entrar na tela Propriedades de login، اختر Mapeamentos de Usuário Na parte superior esquerda da tela.
- À direita, você verá uma lista de Funções do banco de dadosCertifique-se de que a caixa de seleção esteja marcada. proprietário do banco de dados, Então clique OK.
- Execute novamente o código que estava causando o problema anteriormente e verifique se o problema foi resolvido.
7. Conceda privilégios de função de administrador do sistema (se aplicável)
Se você se deparar com esse erro ao tentar acessar um banco de dados para um aplicativo criado localmente, a primeira coisa a verificar é se a configuração atual permite que o NT AUTHORITY/LOCAL SERVICE opere com a função sysadmin.
Você pode fazer isso abrindo o Microsoft SQL Server Management Studio e modificando as propriedades do serviço NT AUTHORITY/LOCAL para habilitar a função sysadmin.
Aqui está um guia rápido sobre como fazer isso:
- Pressione uma tecla Começar No teclado, digite 'ssmsNa página inicial.
- Na lista de resultados, selecione Estúdio de gerenciamento do Microsoft SQL Server.
- Depois disso, vá para الأمان e expanda a lista Conecte-se.
- Clique com o botão direito nele AUTORIDADE DO TERRITÓRIO DO NORTE/Sistema Local Então clique em Propriedades No menu de contexto.
- Na tela de propriedades, clique em Funções de servidão Na barra lateral esquerda.
- Vá para o lado direito e certifique-se de que a caixa associada a sysadmin.
- Salve as alterações, reinicie o dispositivo e verifique se o problema foi resolvido.
Se, por algum motivo, você não conseguir acessar o Microsoft SQL Server Management Studio, também poderá aplicar essa correção a partir de um prompt de comando com privilégios administrativos (caso suas permissões de acesso permitam).
Veja como fazer:
- Pressione uma tecla Windows + R Para abrir um diálogo تشغيل.
A seguir, digite 'cmd' E pressione Ctrl + Shift + Enter لفتح Editor de registro Com poderes de administrador.
- Quando uma reclamação aparece Controle de Conta de Usuário (UAC), Clique نعم Para conferir os poderes do administrador.
- Em um prompt de comando executado com privilégios elevados, digite o seguinte comando (e modifique o espaço reservado) para acessar o servidor específico que está causando o problema:
sqlcmd -S (*nome do servidor*)
Observação: Certifique-se de modificar *nome do servidor* para o nome real do servidor no seu caso específico.
- Em seguida, digite o seguinte comando e pressione Enter. Entrar Para acessar o servidor SQL em sua máquina:
selecione nome de sys.server_principals onde nome = 'NT AUTHORITYSYSTEM'
- Em seguida, digite o seguinte comando para recuperar o resultado e usá-lo em Procedimento de classificação Onde os direitos serão adicionados sysmin Para ela:
SP_ADDSRVROLEMEMBER 'NT AUTHORITYSYSTEM','SYSADMIN'
- Após ambos os problemas terem sido resolvidos com sucesso, feche o Prompt de Comando (CMD) com privilégios elevados e repita o procedimento que estava causando o erro 'NT AUTHORITY/LOCAL SERVICE não encontrado'.
8. Altere o idioma do servidor para inglês (se aplicável)
Se você encontrar o erro 'NT AUTHORITY/LOCAL SERVICE não encontrado' ao usar o Advanced Installer para chamar NT AUTHORITY/LOCAL SERVICE, o erro pode ser sintoma de um bug que afeta servidores remotos.
Esse problema é confirmado quando alguns usuários do Advanced Installer tentam executar manualmente o serviço XUA Automation Server por meio da tela de Serviços ou quando tentam executá-lo manualmente digitando apenas o nome de usuário (sem a autorização do Windows).
Observação: esse problema ocorre porque o SCM não oferece suporte a nomes traduzidos localmente, embora o subsistema de segurança os traduza. Embora você receba um nome traduzido localmente para sua conta em um servidor remoto, a conta deve ser NT AUTHORITYLocalService ao usar funções como CreateService ou ChangeServiceConfig.
Caso esse cenário se aplique, a única solução até o momento é utilizar a versão em inglês da convenção de nomenclatura.
Portanto, em vez de usar comandos no idioma do servidor local (como AUTORITE NTSERVICE LOCAL), use o equivalente em inglês (NT AUTHORITYLocalService).
Comentários estão fechados.