none
Erro 18456 - Login failed for user sa RRS feed

  • Pergunta

  • SQL2005 - Windows Server 2003 R2 - 64 bits

    Acabei de retornar de férias e fui surpreendido com um arquivo ERRORLOG com 7 Gbs. de tamanho em um servidor na Argentina.

    Nessa instalação rodam serviços dos aplicativos do Business One.

    O arquivo não pára de crescer, e decidi ir parando os serviços do sql um a um para ver em que momento ele parava. Experimentei parar o Reporting, Browse, Agent e outros, mas o arquivo continuou a crescer. Ele só parou de crescer quando finalmente parei o serviço principal do MSSQLSERVER.

    Ao restartar esse serviço, ele abriu um novo ERRORLOG que continua crescendo, já está com 500 Mbs. A mensagem de erro que aparece no event viewer do windows é Failure Audit. MSSQLSERVER, Login failed for user sa (CLIENT > LocalMachine). No error log do SQL consta como erro 18456. São umas 100 mensagens a cada minuto.

    Eu experimentei gerar um trace no SQL para descobrir se havia alguma tentativa de conexão com um banco inexistente por exemplo. Mas o nome dos bancos estão corretos, não aparece nenhum erro na coluna de erro. Não tem nenhum job esquedulado, o serviço do agent inclusive está parado.

    Eu precisaria de 2 respostas :

    1) Alguma idéia de como identificar o responsável por essas mensagens ?

    2) Como limpar o errorlog de 7 Gbs ? Eu nem consigo abrir esse arquivo. Dá pau de memória. Ele agora está como ERRORLOG.1. Qual seria a melhor maneira de limpar isso ? Esses arquivos estão acabando com minha área no diretório.

    Obrigado,

    Eduardo

    quarta-feira, 29 de junho de 2011 14:40

Respostas

  • Bom Dia,

    Respondendo às perguntas

    1) Alguma idéia de como identificar o responsável por essas mensagens ?
    Use o Profiler com os eventos Audit: Login Failed. As colunas HOST, ApplicationName serão muito úteis para descobrir isso. Você também pode utilizar as triggers DDL de logon ou a notificação de eventos, mas serão mais trabalhosas de implementar. Voto no Profiler para essa tarefa.

    2) Como limpar o errorlog de 7 Gbs ? Eu nem consigo abrir esse arquivo. Dá pau de memória. Ele agora está como ERRORLOG.1. Qual seria a melhor maneira de limpar isso ? Esses arquivos estão acabando com minha área no diretório.
    Use a procedure sp_cycle_errorlog para gerar um novo arquivo de error log. Após sucessivas execuções, o log de 7GB ficará antigo demais e aí será descartado.

    Considerando que o 2005 no SO em questão irá obedecer a política de senhas, verifique se a conta SA não foi bloqueada indo na sessão de status nas propriedades do login SA. Se alguém tiver tentado logar com o SA sucessivas vezes com a senha errada, a conta pode ter sido bloqueada e aí todos os logons subsequentes (errados ou não) irão falhar e encher o log.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar quarta-feira, 29 de junho de 2011 15:02
    • Marcado como Resposta efcampos terça-feira, 5 de julho de 2011 12:31
    quarta-feira, 29 de junho de 2011 15:02

Todas as Respostas

  • Bom Dia,

    Respondendo às perguntas

    1) Alguma idéia de como identificar o responsável por essas mensagens ?
    Use o Profiler com os eventos Audit: Login Failed. As colunas HOST, ApplicationName serão muito úteis para descobrir isso. Você também pode utilizar as triggers DDL de logon ou a notificação de eventos, mas serão mais trabalhosas de implementar. Voto no Profiler para essa tarefa.

    2) Como limpar o errorlog de 7 Gbs ? Eu nem consigo abrir esse arquivo. Dá pau de memória. Ele agora está como ERRORLOG.1. Qual seria a melhor maneira de limpar isso ? Esses arquivos estão acabando com minha área no diretório.
    Use a procedure sp_cycle_errorlog para gerar um novo arquivo de error log. Após sucessivas execuções, o log de 7GB ficará antigo demais e aí será descartado.

    Considerando que o 2005 no SO em questão irá obedecer a política de senhas, verifique se a conta SA não foi bloqueada indo na sessão de status nas propriedades do login SA. Se alguém tiver tentado logar com o SA sucessivas vezes com a senha errada, a conta pode ter sido bloqueada e aí todos os logons subsequentes (errados ou não) irão falhar e encher o log.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta Gustavo Maia Aguiar quarta-feira, 29 de junho de 2011 15:02
    • Marcado como Resposta efcampos terça-feira, 5 de julho de 2011 12:31
    quarta-feira, 29 de junho de 2011 15:02
  • Eduardo,

    na mensagem é informado qual o ip da estação que esta tentando logar com o SA, verifique se não tem um aplicativo conectando com o SA e se a senha do SA foi alterada.

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba

    quarta-feira, 29 de junho de 2011 15:19
    Moderador
  • Gustavo,

    Graças às suas informações consegui eliminar o arquivo errorlog enorme do sistema e também encontrar a origem do problema através do Profiler.

    Eu descobri que durante minhas férias foi criado um banco e que esse banco foi removido com alguns serviços linkados à ele.

    No entanto, após as correções efetuadas, o Profiler ainda acusa um erro de acesso pelo user sa feita pelo Reporting Service. E agora eu gostaria de saber que banco ele está tentando acessar. Eu acrescentei o nome do banco no trace do Audit, mas vem como master. Presumo que ele passe pelo master antes para ver se o banco existe.

    Como eu posso realmente saber qual banco o Reporting está de fato tentando acessar ?

    Eduardo

    sexta-feira, 1 de julho de 2011 20:18
  • SQL2005 - Windows Server 2003 R2 - 64 bits

    Acabei de retornar de férias e fui surpreendido com um arquivo ERRORLOG com 7 Gbs. de tamanho em um servidor na Argentina.

    Nessa instalação rodam serviços dos aplicativos do Business One.

    O arquivo não pára de crescer, e decidi ir parando os serviços do sql um a um para ver em que momento ele parava. Experimentei parar o Reporting, Browse, Agent e outros, mas o arquivo continuou a crescer. Ele só parou de crescer quando finalmente parei o serviço principal do MSSQLSERVER.

    Ao restartar esse serviço, ele abriu um novo ERRORLOG que continua crescendo, já está com 500 Mbs. A mensagem de erro que aparece no event viewer do windows é Failure Audit. MSSQLSERVER, Login failed for user sa (CLIENT > LocalMachine). No error log do SQL consta como erro 18456. São umas 100 mensagens a cada minuto.

    Eu experimentei gerar um trace no SQL para descobrir se havia alguma tentativa de conexão com um banco inexistente por exemplo. Mas o nome dos bancos estão corretos, não aparece nenhum erro na coluna de erro. Não tem nenhum job esquedulado, o serviço do agent inclusive está parado.

    Eu precisaria de 2 respostas :

    1) Alguma idéia de como identificar o responsável por essas mensagens ?

    2) Como limpar o errorlog de 7 Gbs ? Eu nem consigo abrir esse arquivo. Dá pau de memória. Ele agora está como ERRORLOG.1. Qual seria a melhor maneira de limpar isso ? Esses arquivos estão acabando com minha área no diretório.

    Obrigado,

    Eduardo

    Bom dia a todos,

    Sou DBA Oracle, porém me passaram alguns Bancos de Dados SQL Server 2008R2 para administrar, só que ninguém sabe a senha do usuário SA.

    Me passaram algumas sugestões de senhas, mas está gerando o mesmo erro reportado acima pelo Eduardo (Logon Failed for user 'sa' (error 18456).

    Alguém conhece ou me sugere alguma coisa, para que até mesmo eu consigo alterar essa senha e acessar o banco de dados?

    Obrigado.

    Sandro Costa da Silva

    terça-feira, 8 de janeiro de 2013 13:40
  • Sandro,

    Na instalação do SQL Server é requerido que seja adicionado um usuário de windows como administrador do SQL Server. Descobrindo quem seria esse usuário você poderia estar logando no SQL Server usando essa credencial, ou com outro Usuário com permissões suficientes, e alterando a senha do sa. Outra forma seria parar o banco e 'starta-lo' em single-user mode e alterar a senha do sa.

    http://msdn.microsoft.com/en-us/library/ms189828.aspx

    http://msdn.microsoft.com/en-us/library/ms190737.aspx

    Abs.

    quarta-feira, 9 de janeiro de 2013 13:14