As consultas do servidor SQL são muito lentas apenas na primeira execução

2

Problema um pouco estranho ... quando eu inicio meu aplicativo .NET pela primeira vez depois de reinicializar minha máquina, as consultas do SQL Server são muito lentas ... quando eu pauso o depurador, percebo que ele está esperando a resposta da consulta. Isso só acontece quando se conecta a um servidor SQL remoto (2008) ... se eu me conectar a um na minha máquina local, tudo bem. Além disso, se eu reiniciar o aplicativo, ele funciona rápido, mesmo fora do servidor SQL remoto, e as execuções subseqüentes também são boas. O único problema é quando me conecto a um servidor SQL remoto pela primeira vez depois de reiniciar a máquina. Além disso, notei esse mesmo comportamento exato com um aplicativo de terceiros (também .NET) que também se conecta a um servidor SQL remoto.

Outra informação ... só começou a ser feita desde que atualizei minha máquina do XP para o Win7 (64 bits). Além disso, outros desenvolvedores da minha equipe que atualizaram para o Win7 estão vendo o mesmo comportamento (tanto com o aplicativo que estamos desenvolvendo quanto com o aplicativo .NET de terceiros).

(copiado de link )

    
por JoelFan 06.01.2010 / 18:27

3 respostas

1

O Windows Vista, o Windows 7 e o SQL Server 2008 têm um método de conexão diferente do XP e do SQL Server 2008.

Quando você se conecta a um servidor Windows 2008 que executa o SQL 2008 a partir do Vista ou do Windows 7, o Windows tenta negociar uma conexão usando a SSPI (Security Support Provider Interface). Ocasionalmente, você verá problemas conforme detalhado no link .

Meu melhor palpite é que haja um atraso na negociação dessa conexão. Como você pode ver no artigo da base de conhecimento, há maneiras de forçar a conexão a usar apenas a negociação padrão do NTLM.

Eu tentaria forçar o NTLM adicionando SSPI = NTLM à sua string de conexão. Se você não obtiver mais a redução inicial de velocidade, isso provavelmente aponta para o seu problema.

    
por 27.09.2010 / 17:35
0

Você está se conectando a esta máquina por IP ou nome de host?

O que acontece quando você aborda exclusivamente essa máquina apenas pelo seu endereço IP? (via string de conexão ou SQL Management Studio)

    
por 06.01.2010 / 18:36
0

Verifique as configurações do SQL Client Connection (TCP / IP primeiro?)

Adicione uma entrada à sua máquina SQL 2008 no seu arquivo hosts . Se isso lhe der um desempenho rápido após uma reinicialização, você está analisando um problema de resolução de nomes.

    
por 06.01.2010 / 22:32