Não é possível conectar-se com o Sql Server Studio: erro 18456, estado 8 - mas a senha está correta!

5

Usando o Sql Studio Express (em uma máquina Windows 7-64) para conectar-se a três servidores Sql Server 2005 diferentes usando a Autenticação do Sql Server, estou recebendo o erro: 1846, Estado: 8. De acordo com link , isso deve ser uma incompatibilidade de senha.

No entanto, quando uso os mesmos nomes de usuário e senhas do SQLCMD e de clientes baseados em jdbc, como o Squirrel, ele funciona bem para se conectar a todos os três servidores. Eu também posso fazer login a partir de uma máquina XP com o Sql Studio Express usando os mesmos nomes de usuário e senhas. E, claro, eu verifiquei quádruplo todas as coisas normais, como o meu caps lock não está ligado, eu não estou configurado com um teclado de idioma alternativo, estou realmente digitando exatamente a mesma coisa em ambos os casos, etc.

De qualquer forma, por que posso estar recebendo um erro de incompatibilidade de senha quando a senha está correta? Pode ter algo a ver com as diferentes versões do MDAC nas máquinas e, em caso afirmativo, existe uma maneira de reverter o Windows 7 de volta para uma versão mais antiga do MDAC?

    
por jlarson 08.06.2011 / 23:45

4 respostas

3

Eu tentaria as seguintes coisas nessa ordem de dificuldade:

Antes de qualquer coisa, eu tentaria o endereço IP 10.19.190.x com o nome da instância: 10.19.190.x \ instance_name, também por servername. Eu suspeito que pode ser um problema de protocolo (mais sobre isso abaixo), e isso pode mudar como ele tenta se conectar.

Em segundo lugar, simplesmente poderia ser um bug, mas como alguns estavam cortando e colando, pode ser apenas um personagem oculto. Eu tenho visto este trabalho para algumas pessoas em posts: Depois de digitar a senha, mova o cursor de volta para o início da caixa de login, e o hit entrar / conectar. Você está copiando e colando o pw?

Existe algum firewall de software no caminho? Desabilite-os temporariamente, pois pode haver portas adicionais em uso, que estão bloqueadas.

Eu também tenho me perguntado se um (SQLCMD vs. Studio) está se conectando via TCP / IP, e o outro pelo Named Pipes, causando uma falha de segurança para um. Gostaria de verificar o SQL Configuration Manager (não o Management Studio) para se certificar de que todos os protocolos estão habilitados e ver o que está definido como o protocolo preferido. Ative NamedPipes e TCP e defina a Memória Compartilhada como "ativada". Eu suspeito disso strongmente. Confira este documento:   link

Tente desmarcar a política de imposição de senha nas propriedades do usuário sa. Eu também suspeito disso strongmente.

Tente executar este comando a partir de um prompt:

rundll32.exe keymgr.dll, KRShowKeyMgr

Se houver alguma entrada relacionada ao SQL, exclua-as. Tente adicionar manualmente uma credencial para o SQL. Eu já vi coisas sobre o Vista (então eu presumo que o Windows 7 também) descascando certos tokens de segurança, e eu pude ver isso sendo ignorado em uma linha de comando.

Eu também tentaria redefinir a senha sa no SQL e alterá-la de volta. Em seguida, se a conta sa estiver sendo usada para iniciar o SQL Server, altere a senha em quaisquer serviços relacionados ao SQL Server e reinicie-os (estou tentando sincronizá-los para corresponder). Relacionado a isto estão estes comandos:

    exec sp_password @new = 'sqlpassword', @loginame = 'sa'
    alter login sa
    with password = 'sqlpassword' unlock,
    check_policy = off,
    check_expiration = off 

Além disso, você já pensou em configurar a auditoria de login?

link

Se nada disso funcionar, seria muito útil ver o formato que você está usando para oSQLername para efetuar login no SLQ Manager e na sequência de caracteres SQLCMD que você está usando. Claro, mude qualquer coisa específica, exceto que o nome de usuário é "sa". Mais uma pergunta: Um ambiente de servidor SQL ou multi?

Encontrei algumas dessas aqui, mas procurei apenas as coisas que achei que poderiam ser relevantes: link

    
por 23.06.2011 / 18:53
0

Tente usar o Prompt de Comando para redefinir sua senha perdida. Eu usei-o para redefinir uma senha perdida com êxito no SQL Server 2000/2005.

  1. Abra um prompt de comando (Iniciar - > Executar - > cmd)
  2. Digite os comandos a seguir e pressione Enter após cada linha:

    Osql –S yourservername –E
    EXEC sp_password NULL, 'yourpassword', 'sa'
    GO
    
por 14.06.2011 / 11:13
0

Um tiro longo, mas você pode verificar se há uma senha incorreta armazenada em cache pelo Windows.

De Acesse nomes de usuário e senhas armazenados com rundll32.exe :

The Stored User Names and Passwords applet lets you assign user names and passwords to use when needing to authenticate yourself to services in domains other than the one you are currently logged into.

The normal way of running this applet can be difficult to find quickly, so here is a way to launch it using a desktop shortcut using the rundll32.exe program:

Click on START - RUN and type the following (followed by ENTER):

rundll32.exe keymgr.dll, KRShowKeyMgr

Depois disso, você deve fazer logoff e, em seguida, voltar.

    
por 18.06.2011 / 10:33
0

Você pode tentar usar sua mídia de instalação do SQL Server e instalar um SQL Management Studio adequado em seu computador com Windows 7 e ver se isso funciona melhor.

    
por 22.06.2011 / 05:51

Tags