Como criar perfil de qual servidor SQL um aplicativo .NET tenta se conectar

1

Temos uma enorme aplicação .NET de terceiros que seria demorada para desmontar e entender o código. É compilado no modo Release. Strings de conexão para os bancos de dados MS SQL são definidos para estar no arquivo de configuração e parecem estar corretos. Existem mais de 6 bancos de dados diferentes que ele usa.

No entanto, quando o aplicativo é iniciado, ele gera um erro como "ocorreu um erro relacionado à rede ou à instância ao estabelecer uma conexão com o sql server". Os rastreamentos do aplicativo não fornecem informações suficientes onde ele tenta se conectar quando ele falha.

É possível fazer o perfil da conexão que um aplicativo .NET está tentando abrir sem saber com antecedência a qual nome do servidor SQL ele tenta se conectar? O SQL Profile rastreia conexões no lado do servidor abertas a partir de outras máquinas, mas qual é a melhor ferramenta para ver em uma máquina específica com a qual o SQL Server se conecta (com a possibilidade de ver também conexões não bem-sucedidas)

    
por Bogdan_Ch 15.01.2014 / 13:54

1 resposta

1

Sniff o tráfego, porque é a única maneira de ter certeza.

Sério. Cheirar o tráfego. Não há nada melhor do que solucionar problemas de uma caixa preta emitindo uma mensagem assim por meio de sniffing.

Se você se opuser a usar o software de terceiros, instale o Monitor de Rede da Microsoft (ou o novo Microsoft Message Analyzer ).

As conexões de cliente do SQL Server assumem o padrão para a porta TCP 1433, mas o número da porta também pode ser dinâmico. Se o software estiver acessando instâncias dedicadas do SQL Server instaladas como instância padrão, provavelmente estará usando a porta padrão.

    
por 16.01.2014 / 00:29