ASP CLASSICO ASP.NET C# SQL / DATABASE VB / VBA VB.NET Todos os fóruns 

ERRO SQL - PRE LOGIN - HANDSHAKE 14998

 Tópico anterior Próximo tópico Novo tópico

ERRO SQL - PRE LOGIN - HANDSHAKE 14998

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#470223 - 31/12/2016 19:36:47

DS2T
BARRA MANSA
Cadast. em:Novembro/2010


 Anexos estao visíveis somente para usuários registrados

Olá a todos!

Feliz ano novo galera, ótimo 2017 pra todos vocês.

Então, estou com um problema de conexão com o SQL Server lá na empresa. Na verdade, eu já desconfio o que seja, mas queria a opinião de vocês.
Estou anexando a imagem do erro pra vocês verem.

Isso não acontece todo dia, as vezes sim, as vezes não. Isso é o mais estranho.
Fiz várias pesquisas e todos recomendam a verificar firewall, verificar as portas, etc.  Mas se fosse esse o problema, ele não deixaria conectar em momento algum.

Tanto pela minha aplicação, quanto pelo management studio. Dá esse erro de pré-login.
Aí fui olhar o log do SQL Server e reparei algo curioso:  Estão tentando descobrir a senha da instância do servidor. Milhares de tentativas durante o dia...
Já consigo imaginar quem seja, algumas pessoas foram demitidas, eles até trocaram a senha lá na época. Enfim...

Já cansei de falar com meu chefe pra usar webservice ou webapi pra poder fazer conexão com o SQL Server, mas ele insiste em fazer conexão remota direta. Deixando tudo muito exposto.

Mas enfim, existe alguma possibilidade dessas tentativas estarem fazendo gerar esse erro?
Foi a única anormalidade que encontrei nos logs.

As outras sugestões na internet eram habilitar ipv6, etc... Mas nada disso dava certo.

"Cansei de frases intelectuais" - Eu mesmo


#470225 - 01/01/2017 01:16:26

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Em primeiro lugar: Feliz ano novo!

Para "tirar a prova dos nove", faça um login local, na mesma máquina onde o server está. Primeiro usando o mesmo método de login que está usando, com senha. Depois, também localmente, conecte usando Trusted Connection. Se o erro ocorrer, é certeza que não é firewall/portas ou qualquer outro problema de rede.

Como você está possivelmente vendo uma tentativa de brute-force, isso significa que o erro deve persistir. Para evitar isso, você poderia usar algumas traquitanas nada recomendáveis:
- VPN
- SSL/TSL
- Modificar a sua rede para bloquear ip's.

Nada disso vai resolver de vez o problema, como você mesmo mencionou, a maneira mais segura é mesmo com WebAPI.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#470228 - 01/01/2017 11:26:56

JABA
CABO FRIO
Cadast. em:Agosto/2005


Feliz Ano Novo!

Aqui tem algo parecido e a solução funcionou.

stackoverflow.com/questions/15488922/connection-to-sql-server-works-sometimes

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#470229 - 01/01/2017 17:42:56

DS2T
BARRA MANSA
Cadast. em:Novembro/2010


Última edição em 02/01/2017 11:26:47 por DS2T

Olá Kerplunk! Tudo bem contigo? Feliz ano novo!

Então, esses erros acontecem de vez em quando. Tem dia que a cada 10 logins, chega a dar problema em 5. Tem dia que o erro nem acontece. Vou criar uma aplicação pra fazer um loop e ficar tentando acessar o banco de dados, dessas duas formas que você falou. Verei se conseguirei os Exceptions. Amanhã eu dou o retorno.
Também ficarei atento aos dias de maior incidência do problema e irei refazer os testes.


Beleza Jaba? Feliz ano novo cara!

Então, esse foi o post que pensei que seria minha salvação quando comecei a pesquisar sobre o erro. Porque é quase idêntico ao meu problema: as vezes ocorre, as vezes não.

Habilitei o IPv6 que estava desabilitado. E no configuration manager, a única diferença foi que usei o IPAll - porque sempre usei assim e nunca tive problema. (Segundo documentação da microsoft, se você seta uma porta para o IPAll, ele desconsidera todos os ips anteriores. Um próprio comentário desse post fala sobre isso:

"    I'm not sure that the individual entries being disabled is a problem as the Protocol tab has an override 'listen all' which tells SQL to listen on all IP's. See the following link for documentation. msdn.microsoft.com/en-us/library/dd981060.aspx"


Outro teste que irei fazer amanhã, será desconfigurar todas as configurações TCP/IP e vê se com o SQL Browser a coisa fica melhor.

Obrigado a todos!
Ótimo primeiro dia do ano!


"Cansei de frases intelectuais" - Eu mesmo


#470243 - 02/01/2017 11:47:49

DS2T
BARRA MANSA
Cadast. em:Novembro/2010


 Anexos estao visíveis somente para usuários registrados

Bom dia pessoal!

Conforme havia falado, realizei os testes. E hoje foi um ótimo dia pra isso, porque a conexão está um lixo.

Fiz alguns testes com o Windows Authentication e o SQL Server Authentication, como você havia sugerido. Ambos localmente.
Tanto a autenticação do Windows quanto a do SQL Server apresentaram problema quando tentei me conectar pelo IP local.  A cada 10 conexões, 4 erros, na média.
Mas quando usei o nome do computador no modo Windows Authentication todas as conexões rodaram bem. Então acho que o problema está realmente no protocolo TCP/IP.

Estou anexando as imagens da configuração do meu SQL Server.

Nas configurações de IP, usei o IPALL, como havia falado anteriormente. Todas as anteriores estão desabilitadas.

Hoje não houveram tentativas de logins indesejadas, então, infelizmente, esse problema não está sendo causado pela tentativa de acesso por força bruta.

Me recomendaram usar um programa Wireshark para monitorar as conexões TCP/IP do computador. Eu nunca fiz algo assim, então terei que dar uma estudada. Acham que posso acabar descobrindo? Recomendam algum outro método para poder descobrir isso?

Muito obrigado!
Tenham uma ótima semana!

"Cansei de frases intelectuais" - Eu mesmo


#470250 - 02/01/2017 12:25:39

DS2T
BARRA MANSA
Cadast. em:Novembro/2010


Acabei de ver o log do usuário Windows Authentication aqui quando tentei entrar pelo IP:

2017-01-02 10:10:38.46 spid15s     Server TCP provider failed to listen on [ 'any' <ipv6> 1433]. Tcp port is already in use.
2017-01-02 10:10:38.46 spid15s     Error: 17182, Severity: 16, State: 1.
2017-01-02 10:10:38.46 spid15s     TDSSNIClient initialization failed with error 0x2740, status code 0xa. Reason: Unable to initialize the TCP/IP listener. Only one usage of each socket address (protocol/network address/port) is normally permitted.
2017-01-02 10:10:38.46 spid15s     Error: 17182, Severity: 16, State: 1.
2017-01-02 10:10:38.46 spid15s     TDSSNIClient initialization failed with error 0x2740, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. Only one usage of each socket address (protocol/network address/port) is normally permitted.
2017-01-02 10:10:38.46 spid15s     Error: 17826, Severity: 18, State: 3.
2017-01-02 10:10:38.46 spid15s     Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
2017-01-02 10:10:38.46 spid15s     Error: 17120, Severity: 16, State: 1.
2017-01-02 10:10:38.46 spid15s     SQL Server could not spawn FRunCommunicationsManager thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.


Pelo menos me deu mais informação para continuar a pesquisa.
Irei pesquisar mais e os manterei informados.

Obrigado!

"Cansei de frases intelectuais" - Eu mesmo


#470279 - 03/01/2017 08:54:24

DS2T
BARRA MANSA
Cadast. em:Novembro/2010


Última edição em 03/01/2017 08:54:47 por DS2T

 Anexos estao visíveis somente para usuários registrados

Bom dia!

Então, pelo que pesquisei, o erro deveria estar no fato de ter duas instâncias rodando na mesma porta ou ter algum outro software usando a porta 1433.
Mas isso não acontece.

Pelo menos agora sei que é a porta.
Dei uma olhada e encontrei a lista de conexões na porta. Coloquei anexo (compactei, mas é um arquivo Excel). É muita coisa, realmente. Nem sei se teria como ter esse tanto de conexão, baseado no número de cliente que temos (e nem todos acessam o banco direto). Eu estou passando dando uma limpa nos projetos que fazem conexão remota e vendo se as conexões estão sendo fechadas direitinho.

Para pegar a lista de conexões, usei este software: http://www.nirsoft.net/utils/cports.html
E depois conferi com o comando netstat -na | find "1433"

Repare que existem dois IPs locais. Isso é porque o servidor tem duas placas de rede. Não sei se isso afetaria também...
Também tem esse IP local "0.0.0.0" que não entendi qual é a dele.

Queria saber a opinião de vocês. Alguma sugestão?

Obrigado!


"Cansei de frases intelectuais" - Eu mesmo


 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário