Partilhar via


MSSQLSERVER_18456

Aplica-se a:SQL Server

Detalhes

Attribute Valor
Nome do Produto SQL Server
ID do Evento 18456
Origem do evento MSSQLSERVER
Componente SQLEngine
Nome simbólico LOGON_FAILED
Texto da mensagem Falha de login para o utilizador '%.*ls'.%.*ls

Explanation

Recebe esta mensagem de erro quando uma tentativa de ligação é rejeitada devido a uma falha de autenticação. Os logins dos utilizadores podem falhar por várias razões, como credenciais inválidas, expiração da palavra-passe e ativação do modo de autenticação errado. Em muitos casos, os códigos de erro incluem descrições.

Ação do utilizador

Os exemplos seguintes são alguns dos falhas mais comuns de login. Selecione exatamente o erro que está a experienciar para resolver o problema:

Falha de login para '<nome> de utilizador' ou falha de login para '<domínio>\<nome de utilizador>'

Se o nome de domínio não for especificado, o problema é uma tentativa falhada de login do SQL Server. Se o nome de domínio for especificado, o problema é uma falha no login da conta de utilizador Windows. Para causas potenciais e resoluções sugeridas, veja:

Causa potencial Resolução sugerida
Estás a tentar usar Autenticação SQL Server, mas a instância SQL Server está configurada para o modo de Autenticação Windows. Verifique se o SQL Server está configurado para usar o SQL Server e o modo de Autenticação do Windows. Pode rever e alterar o modo de autenticação da sua instância SQL Server na página de Segurança em Propriedades para a instância correspondente no SQL Server Management Studio (SSMS). Para mais informações, consulte Alterar o modo de autenticação do servidor. Alternativamente, pode alterar a sua aplicação para usar o modo de Autenticação do Windows para se ligar ao SQL Server.
Nota: Pode ver uma mensagem semelhante à seguinte no registo de Erros do SQL Server para este cenário:
Login failed for user '<UserName>'. Reason: An attempt to login using SQL authentication failed. Server is configured for Windows authentication only.
Está a tentar aceder ao SQL Server através de um grupo e vê uma mensagem de erro. Se não tiver as permissões necessárias para aceder ao servidor, o fornecedor mostra a mensagem de erro "Login falhou para o utilizador 'contoso/user1'". Use a funcionalidade "Acesso via grupo" que o ajuda a aceder a um servidor com base na sua pertença ao grupo.
Quando executa o xp_logininfo 'contoso/user1' procedimento armazenado, pode ocorrer o seguinte:
- Se detetar um erro, o SQL Server não consegue resolver o nome de utilizador de todo. É provável que um nome não esteja presente no Active Directory (AD) ou que haja problemas a ligar-se ao controlador de domínio (DC). Tenta usar outro nome para verificar se o problema é específico de uma conta específica.
- Se estiver a ligar-se a um servidor multidomínio, o grupo deve estar no domínio SQL Server, e não no domínio de utilizador, para que a sua pertença possa ser resolvida.
- Quando uma consulta à base de dados não retorna linhas, significa que não existe grupo que forneça acesso ao servidor. Quando uma consulta devolve uma ou mais linhas, significa que o utilizador pertence a um grupo que fornece acesso.
O DBA pode verificar novamente as permissões verificando a pasta Security\Logins no SQL Server Management Studio (SSMS). O Security\Logins mostra uma lista de logins criados. Se for uma base de dados contida, o DBA pode verificar o Security\Logins sob o nome da base de dados para verificar e gerir os logins.
Para mais informações, consulte Configurar Controlo de Acesso do Utilizador e Permissões.
Os logins SQL não estão ativados O sistema de gestão da base de dados (SGBD) pode mostrar alguma variação da Login failed for user '<username>' mensagem. Para resolver este erro, siga estes passos:
1. Verifique se o registo de erros do SQL Server contém a mensagem de erro "Login falhou para utilizador '<nome> de utilizador'. Razão: Uma tentativa de iniciar sessão usando autenticação SQL falhou. O servidor está configurado apenas para autenticação Windows."
2. Use um dos seguintes métodos para resolver o erro:
- Use um login integrado. Por exemplo, para Fornecedores OLE DB, adicionar INTEGRATED SECURITY=SSPI à cadeia de ligação, e para drivers ODBC, adicionar TRUSTED_CONNECTION=YES. O fornecedor .NET aceita qualquer uma das sintaxes.
Nota: Isto pode levar a outros problemas se não estiverem configurados corretamente para permitir autenticação integrada e precisarem de ser investigados como um problema separado.
- Ativar logins SQL no servidor:
a. No SQL Server Management Studio, clique com o botão direito no nome do SQL Server no Explorador de Objetos e selecione Propriedades.
b) No painel de Segurança , selecione os modos de autenticação SQL Server e Windows .
c. Selecione OK.
d. Reinicie o SQL Server para que a alteração ocorra.
Nota: Isto pode levar a outros problemas, como definir um login SQL.
- Tente especificar uma conta local do Windows ou uma conta de domínio para o nome de utilizador. Só são permitidos logins em SQL. A aplicação deve usar segurança integrada.
O login não existe na instância do SQL Server à qual estás a tentar ligar-te. Verifica se o login do SQL Server existe e que o escreveste corretamente. Se o login não existir, cria-o. Se estiver presente mas mal escrito, corrige isso na string de ligação da aplicação. O registo de erros do SQL Server terá uma das seguintes mensagens:
- Login failed for user 'username'. Reason: Could not find a login matching the name provided.
- Login failed for user 'Domain\username'. Reason: Could not find a login matching the name provided.Isto pode ser um problema comum se implementar uma aplicação que usa um servidor DEV ou QA em produção e não atualizar a cadeia de ligação. Para resolver este problema, valide que está a ligar-se ao servidor apropriado. Se não, corrige a corda de ligação. Se for, conceda ao login acesso ao seu SQL Server. Ou, se for um login Windows, conceda acesso direto ou adicione-o a um grupo local ou de domínio que possa ligar-se ao servidor de base de dados. Para mais informações, consulte Criar um Login.
Estás a usar autenticação SQL Server, mas a palavra-passe que especificaste para o login SQL Server está incorreta. Verifique o registo de erros SQL para mensagens como "Razão: A palavra-passe não correspondeu a isso para o login fornecido" para confirmar a causa. Para resolver o problema, use a palavra-passe correta na sua aplicação ou use uma conta diferente se não se lembrar da palavra-passe. Em alternativa, trabalhe com o administrador do SQL Server para redefinir a palavra-passe da conta.
Se a aplicação for SQL Server Integration Services (SSIS), podem existir múltiplos níveis de ficheiro de Configuração para o trabalho, que podem sobrepor as definições do Gestor de Conexões do pacote.
Se a aplicação foi escrita pela sua empresa e a cadeia de ligação for gerada programaticamente, envolva a equipa de desenvolvimento para resolver o problema. Como solução temporária, codifica fixamente a string de ligação e o teste. Use um ficheiro UDL ou um script para provar que uma ligação é possível com uma cadeia de ligação codificada fixamente.
A cadeia de ligação tem sintaxe, nome do servidor ou credenciais de utilizador incorretas. Para resolver isto, siga estes passos:
  1. Verifica o formato da string de ligação. Um formato de cadeia de ligação deve conter os parâmetros necessários, como nome do servidor, nome da base de dados, nome de utilizador e palavra-passe.
  2. Verifica o nome do servidor na cadeia de ligação.
  3. Se estiver a usar uma instância nomeada, inclua o nome da instância.
  4. Se o servidor alvo estiver incorreto, atualize a cadeia de ligação para apontar para o servidor correto.
  5. Se a cadeia de ligação estiver correta, forneça o acesso de login à base de dados. Para isso, cria um utilizador na base de dados e depois mapeia para esse login.
  6. Se estiveres a usar um login do Windows, adiciona o login a um grupo local ou grupo de domínio que possa ligar-se ao servidor da base de dados.
Sem login Verifique se o SQL Server mostra as seguintes mensagens:
Logon Error: 18456, Severity: 14, State: 11.
Logon Login failed for user 'CONTOSO\JohnDoe'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: ]
Alguns dos erros pertencem à conta de Logon Anónimo. Isto está relacionado com a questão do Kerberos. Havia uma entrada manual errada no ficheiro HOSTS, ou seja, foi dado o nome errado do servidor.
As restantes edições poderão enquadrar-se nas seguintes categorias:
  • Os logins foram negados (ou não concedidos) a um utilizador final.
  • A conta tinha acesso através do grupo de Administradores.
  • Um grupo ao qual o utilizador pertencia tinha permissões de NEGAÇÃO no SQL Server.
Está a tentar ligar-se através da autenticação do Windows, mas está iniciado num domínio incorreto. Verifica se estás devidamente ligado ao domínio correto. A mensagem de erro normalmente mostra o nome do domínio.
Verificar permissões de base de dados A base de dados não aparece offline no SQL Server Management Studio. Outros utilizadores, por exemplo o DBA, conseguem ligar-se a ele.
A conta de utilizador em questão deve ter acesso explícito à base de dados ou ser adicionada a um papel SQL Server ou a um grupo local de Windows ou grupo de domínio que tenha acesso à base de dados. Para mais informações, veja CRIAR UTILIZADOR, ALTERAR PAPEL eALTERAR PAPEL DE SERVIDOR
Não está a executar a sua aplicação (por exemplo, SSMS) como administrador. Se está a tentar ligar-se usando as suas credenciais de administrador, inicie a sua candidatura usando a opção Executar como Administrador . Quando estiver ligado, adicione o seu utilizador Windows como login individual.
O login é eliminado após uma migração para um utilizador de base de dados contido. Se o Motor de Base de Dados suportar bases de dados contidas, confirme que o login não foi eliminado após a migração para um utilizador de base de dados contida. Para mais informações, consulte Autenticação de Base de Dados Contida: Introdução.
A base de dados padrão do login está offline ou não está disponível de outra forma. Consulte o administrador do seu SQL Server e resolva questões relacionadas com a disponibilidade da base de dados. Se o login tiver permissões para outras bases de dados no servidor e não precisar de aceder à base de dados padrão configurada atualmente na sua aplicação, use uma das seguintes opções:
- Solicitar ao administrador que altere a base de dados padrão para o login usando a instrução ALTER LOGIN ou SSMS.
- Especificar explicitamente uma base de dados diferente na sua cadeia de ligação à aplicação. Ou, se estiveres a usar SSMS, muda para o separador Propriedades de Ligação para especificar uma base de dados que esteja atualmente disponível.Aplicações como o SSMS podem mostrar uma mensagem de erro como a seguinte:
Cannot open user default database. Login failed.
Login failed for user <user name>. (Microsoft SQL Server, Error: 4064)
O Registo de Erros do SQL Server terá uma mensagem de erro semelhante à seguinte:
Login failed for user '<user name>'. Reason: Failed to open the database '<dbname>' specified in the login properties [CLIENT: <ip address>]
Para mais informações, consulte MSSQLSERVER_4064.
A base de dados explicitamente especificada na string de ligação ou no SSMS está incorretamente escrita, offline ou não está disponível de outra forma. - Fixar o nome da base de dados na cadeia de ligação. Presta atenção à sensibilidade a maiúsculas minúsculas se usares uma colação sensível a maiúsculas e minúsculas no servidor.
- Se o nome da base de dados estiver correto, verifique com o administrador do SQL Server e resolva questões relacionadas com a disponibilidade da base de dados. Verifica se a base de dados está offline, não recuperada, e assim sucessivamente.
- Se o login foi mapeado para utilizadores com permissões para outras bases de dados no servidor e não precisar de aceder à base de dados configurada atualmente na sua aplicação, então especifique uma base de dados diferente na sua cadeia de ligação. Ou, se estiveres a ligar com SSMS, usa o separador Propriedades de Ligação para especificar uma base de dados que esteja atualmente disponível.
O Registo de Erros do SQL Server terá uma mensagem de erro semelhante à seguinte:
Login failed for user <UserName>. Reason: Failed to open the explicitly specified database 'dbname'. [CLIENT: <ip address>]
Nota: Se a base de dados padrão do login estiver disponível, o SQL Server permite que a ligação seja bem-sucedida. Para mais informações, consulte MSSQLSERVER_4064.
O utilizador não tem permissões para a base de dados solicitada. - Tente ligar-se como outro utilizador que tenha direitos de administrador de sistemas para ver se é possível estabelecer conectividade.
- Conceder ao login acesso à base de dados criando o utilizador correspondente (por exemplo, CREATE USER [<UserName>] FOR LOGIN [UserName])

Além disso, consulte a lista extensa de códigos de erro em Troubleshooting Error 18456.

Para mais ajuda com resolução de problemas, consulte Resolução de Problemas de Conectividade ao Cliente / Servidor SQL.

Falha de login para o utilizador NT AUTHORITY\LOGON ANÓNIMO

Existem pelo menos quatro cenários para este problema. Na tabela seguinte, examine cada causa potencial aplicável e utilize a resolução apropriada: Consulte a nota abaixo da tabela para uma explicação do termo duplo salto.

Causas potenciais Resoluções sugeridas
Está a tentar passar credenciais NT LAN Manager (NTLM) de um serviço para outro no mesmo computador (por exemplo: do IIS para o SQL Server), mas ocorre uma falha no processo. Adicione as entradas do registo DisableLoopbackCheck ou BackConnectionHostNames .
Existem cenários de duplo salto (delegação por restrições) em vários computadores. O erro pode ocorrer se a ligação Kerberos falhar devido a problemas com os Nomes Principais de Serviço (SPN). Executa SQLCheck em cada SQL Server e no servidor web. Utilize os guias de resolução de problemas: 0600 Questão de Delegação de Credenciais e 0650 Questões de Delegação de Servidores Ligados SQL Server.
Se não houver duplo salto (delegação de restrições), então provavelmente existem SPNs duplicados, e o cliente está a correr como uma conta LocalSystem ou outra máquina que recebe credenciais NTLM em vez de credenciais Kerberos. Usa SQLCheck ou Setspn.exe para diagnosticar e corrigir quaisquer problemas relacionados com SPN. Consulte também a Visão Geral do Gestor de Configuração Kerberos para SQL Server.
A política de Segurança Local do Windows pode ter sido configurada para impedir o uso da conta da máquina para pedidos de autenticação remota. Navegar até Política >de Segurança LocalPolíticas>Locais Opções> deSegurança Segurança da rede: Permitir que o Sistema Local use a identidade do computador para NTLM, selecione a opção Ativado se a definição estiver desativada e depois selecione OK.
Nota: Como detalhado no separador Explicar , esta política está ativada por defeito no Windows 7 e versões posteriores.
A ocorrência intermitente deste problema ao usar delegação restrita pode indicar a presença de um bilhete expirado que não pode ser renovado pelo nível intermédio. Este é um comportamento esperado tanto em um cenário de servidor ligado quer em qualquer aplicação que mantenha uma sessão de login por mais de 10 horas. Altere as definições de delegação no seu servidor intermédio a partir de Confiar neste computador para delegar apenas para serviços especificados - Use Kerberos Only para Confiar neste computador para delegar apenas a serviços especificados - Use qualquer protocolo. Para mais informações, consulte LOGIN ANÓNIMO Intermitente do duplo salto do servidor ligado SQL Server.
Login entre Pares NTLM Este erro está relacionado com o protocolo de autenticação NTLM utilizado pelo sistema operativo Microsoft Windows. Ao comunicar entre computadores que estão em estações de trabalho ou em domínios que não confiam uns nos outros, pode configurar contas idênticas em ambas as máquinas e usar autenticação NTLM peer login. Os logins só funcionam se tanto a conta de utilizador como a palavra-passe coincidirem em ambas as máquinas.
Proteção de loopback A proteção de loopback foi concebida para impedir que aplicações chamem outros serviços na mesma máquina. Podes definir as DisableLoopbackCheck chaves de registo ou BackConnectionHostNames (preferidas) para permitir isto. Para mais informações, consulte Mensagem de erro quando tentar aceder a um servidor localmente usando o seu FQDN ou o seu alias CNAME após instalar o Windows Server 2003 Service Pack 1: Acesso negado ou Nenhum fornecedor de rede aceitou o caminho de rede indicado.
Always-On Proteção contra Loopback do Ouvinte Ao ligar-se ao ouvinte Always-On a partir do nó primário, a ligação será NTLM. Isto irá ativar a Verificação de Loopback e resultar num erro "Login falhado" indicando que o utilizador pertence a um domínio não confiável. Para resolver este erro, escreva o nome NETBIOS do Ouvinte e o nome totalmente qualificado na BackConnectionHostNames chave do registo em todas as máquinas do Grupo de Disponibilidade. Para mais informações, consulte Mensagem de erro quando tentar aceder a um servidor localmente usando o seu FQDN ou o seu alias CNAME após instalar o Windows Server 2003 Service Pack 1: Acesso negado ou Nenhum fornecedor de rede aceitou o caminho de rede indicado.
Nível de Compatibilidade LANMAN Isto acontece normalmente entre computadores mais antigos (antes do Windows 2008) e computadores mais recentes.
Defina o nível de compatibilidade LANMAN para 5 em todos os computadores. Isto também proíbe o NTLM v1. Também podes mudar para Kerberos para evitar este problema.
Conta sensível Algumas contas podem estar marcadas como Sensíveis no Active Directory. Estas contas não podem ser delegadas a outro serviço num cenário de duplo salto.
Não é um alvo limitado Se a delegação restrita estiver ativada para uma conta de serviço específica, o Kerberos falhará se o SPN do servidor alvo não estiver na lista de alvos de delegação restrita.
Per-Service-SID Esta funcionalidade limita as ligações locais a usarem NTLM e não o Kerberos como método de autenticação. O serviço pode fazer um único salto para outro servidor usando credenciais NTLM, mas não pode ser delegado sem o uso de delegação restrita.
NTLM e delegação restrita Se o destino for uma partilha de ficheiros, o tipo de delegação da conta de serviço de nível intermédio deve ser Constrained-Any e não Kerberos Restrito.

Observação

Um duplo salto envolve tipicamente a delegação de credenciais de utilizador entre vários computadores remotos. Por exemplo, suponha que tem uma instância do SQL Server chamada SQL1 onde criou um servidor ligado para um SQL Server remoto chamado SQL2. Na configuração de segurança do servidor ligado, selecionou a opção Ser feito usando o contexto de segurança atual do login. Ao usar esta configuração, se executar uma consulta de servidor ligado em SQL1 a partir de um computador cliente remoto chamado Client1, as credenciais do Windows terão primeiro de saltar do Client1 para SQL1 e depois de SQL1 para SQL2 (daí chamar-se double-hop). Para mais informações, consulte Compreensão do Duplo Salto de Kerberos e da Delegação Restrita de Kerberos

Login falhou para o utilizador (vazio)

Este erro ocorre quando um utilizador tenta entrar sem sucesso. Este erro pode ocorrer se o seu computador não estiver ligado à rede. Por exemplo, pode receber uma mensagem de erro semelhante à seguinte:

Source: NETLOGON
Date: 8/12/2012 8:22:16 PM
Event ID: 5719
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: <computer name>
Description: This computer was not able to set up a secure session with a domain controller in domain due to the following: The remote procedure call was cancelled.
This may lead to authentication problems. Make sure that this computer is connected to the network. If the problem persists, please contact your domain administrator.

Uma cadeia vazia significa que o SQL Server tentou transferir as credenciais para o Local Security Authority Subsystem Service (LSASS), mas não conseguiu devido a algum problema. Ou o LSASS não estava disponível, ou o controlador de domínio não podia ser contactado.

Pode também ver os seguintes códigos de erro SSPI correspondentes:

O handshake SSPI falhou com código de erro 0x80090311 ao estabelecer uma ligação com segurança integrada; A ligação foi encerrada.

O handshake SSPI falhou com código de erro 0x80090304 ao estabelecer uma ligação com segurança integrada; A ligação foi encerrada.

Estes códigos de erro traduzem-se da seguinte forma:

Erro -2146893039 (0x80090311): Nenhuma autoridade pode ser contactada para autenticação. Erro -2146893052 (0x80090304): A Autoridade Local de Segurança não pode ser contactada.

Para resolver estes erros, pode desligar o DC responsável ou usar NLTEST.EXE para mudar de DC. - Para consultar o DC, execute o NLTEST /SC_QUERY:CONTOSO comando. - Para alterar o DC, executa o NLTEST /SC_RESET:CONTOSO\DC03 comando.

Se precisar de mais assistência, contacte a equipa do Microsoft Active Directory.

Verifique os registos de eventos no cliente e no servidor para quaisquer mensagens relacionadas com a rede ou com o Active Directory que tenham sido registadas na altura da falha. Se encontrares algum, trabalha com o administrador do teu domínio para resolver os problemas.

Falha de login para o utilizador '(null)'

Uma indicação de "nulo" pode significar que o LSASS não pode desencriptar o token de segurança usando as credenciais da conta do serviço SQL Server. A principal razão para esta condição é que o SPN está associado à conta errada.

Para resolver o problema, siga estes passos:

  1. Usa o SQLCheck ou Setspn.exe para diagnosticar e corrigir problemas relacionados com SPN.

  2. Usa o SQLCheck para verificar se a conta SQL Service é confiável para delegação. Se o resultado indicar que a conta não é confiável para delegação, trabalhe com o administrador do Active Directory para ativar a delegação da conta.

Observação

Os SETSPN -X e -Q são comandos úteis para verificar SPNs duplicados ou deslocados.

  1. Diagnosticar e corrigir problemas de resolução de nomes do Sistema de Nomes de Domínio (DNS). Por exemplo:

    • Fazer ping ao endereço IP usando scripts PowerShell:

      • ping -a <your_target_machine> (uso -4 especificamente para IPv4 e -6 IPv6)
      • ping -a <your_remote_IPAddress>
    • Use o NSLookup para introduzir o nome e endereço IP do seu computador local e remoto várias vezes.

  2. Procure quaisquer discrepâncias ou incompatibilidades nos resultados devolvidos. A precisão da configuração DNS na rede é importante para uma ligação SQL Server bem-sucedida. Uma entrada DNS incorreta pode causar inúmeros problemas de conectividade mais tarde.

  3. Certifique-se de que os firewalls ou outros dispositivos de rede não bloqueiam um cliente de se ligar ao controlador de domínio. Os SPNs são armazenados no Active Directory. Se os clientes não conseguirem comunicar com o diretório, a ligação não pode ter sucesso.

Informação adicional de erro

Para aumentar a segurança, a mensagem de erro devolvida ao cliente oculta deliberadamente a natureza do erro de autenticação. No entanto, no registo de erros do SQL Server, um erro correspondente contém um estado de erro que corresponde a uma condição de falha de autenticação. Compare o estado do erro com a lista seguinte para determinar a razão da falha de login.

Estado Description
1 A informação de erro não está disponível. Este estado normalmente significa que não tem permissão para receber os dados do erro. Contacte o administrador do seu SQL Server para mais informações.
2 O ID de utilizador não é válido.
5 O ID de utilizador não é válido.
6 Foi feita uma tentativa de usar um nome de login Windows com Autenticação SQL Server.
7 O login está desativado e a palavra-passe está incorreta.
8 A palavra-passe está incorreta.
9 A palavra-passe não é válida.
11 O login é válido, mas o acesso ao servidor falhou. Uma possível causa deste erro é quando o utilizador do Windows tem acesso ao SQL Server como membro do grupo local de administradores, mas o Windows não fornece credenciais de administrador. Para ligar, inicie o programa de ligação usando a opção Executar como administrador e depois adicione o utilizador Windows ao SQL Server como um login específico.
12 O login é válido, mas o acesso ao servidor falhou.
18 A palavra-passe tem de ser alterada.
38, 46 Não consegui encontrar a base de dados solicitada pelo utilizador.
58 Quando o SQL Server está configurado para usar apenas autenticação Windows e um cliente tenta iniciar sessão usando autenticação SQL. Outra causa é quando as SIDs não coincidem.
62 Ocorre quando uma conta de autenticação do Windows tenta aceder a uma base de dados contida, e a base de dados contida existe, mas os SIDs não coincidem.
102 - 111 Falha do Azure AD.
122 - 124 Falha devido a nome de utilizador ou palavra-passe vazios.
126 A base de dados solicitada pelo utilizador não existe.
132 - 133 Falha do Azure AD.

Existem outros estados de erro que indicam um erro interno inesperado de processamento.

Causa mais rara possível

A razão do erro Uma tentativa de iniciar sessão usando autenticação SQL falhou. O servidor está configurado apenas para autenticação Windows. pode ser devolvido nas seguintes situações.

  • Quando o servidor está configurado para autenticação em modo misto, e uma ligação ODBC usa o protocolo TCP, e a ligação não especifica explicitamente que deve usar uma ligação de confiança.

  • Quando o SQL Server está configurado para autenticação em modo misto, e uma ligação ODBC usa pipes nomeados, as credenciais que o cliente usou para abrir o pipe nomeado são usadas para se fazer passar automaticamente pelo utilizador, e a cadeia de ligação não especifica explicitamente o uso de uma autenticação de confiança.

Para resolver este problema, inclua TRUSTED_CONNECTION = TRUE na cadeia de ligação.

Examples

Neste exemplo, o estado de erro de autenticação é 8. Isto indica que a palavra-passe está incorreta.

Date Fonte Message
2007-12-05 20:12:56.34 Logon Erro: 18456, Gravidade: 14, Estado: 8.
2007-12-05 20:12:56.34 Logon O login falhou para o utilizador '<user_name>'. [CLIENTE: <endereço> ip]

Observação

Quando o SQL Server é instalado usando o modo de Autenticação do Windows e é posteriormente alterado para SQL Server e modo de Autenticação do Windows, o login SA é inicialmente desativado. Isto provoca o erro de estado 7: "Login falhou para o utilizador 'sa'." Para ativar o login SA , veja Alterar Modo de Autenticação do Servidor.

Consulte também