Corrigindo erros de conexão após diminuir os valores da propriedade ‘Maximum Number of Concurrent Connections’ no SQL Server

Corrigindo erros de conexão após diminuir os valores da propriedade ‘Maximum Number of Concurrent Connections’ no SQL Server

Introdução

No SQL Server existe uma propriedade ao nível de servidor chamada Maximum Number of Concurrent Connections, essa configuração especifica o número máximo de conexões de usuários concorrentes a uma instância do SQL Server. O número atual de conexões de usuários permitida depende da versão do SQL Server, assim como, os limites da aplicação ou hardware.

O valor padrão para essa propriedade é zero e normalmente esse valor não será alterado, pois significa que não existem “limites” (na verdade o valor máximo é de 32.767) para a quantidade de conexões de usuários concorrentes.



Problema

Tive o interesse de observar o comportamento da propriedade Maximum Number of Concurrent Connections com valores pequenos e acabei me deparando com uma situação inesperada ao alterar o valor configurado para 1.

Após aplicar as alterações e reiniciar o serviço do SQL Server, começaram os problemas para se conectar a instância. Consegui observar em diversas tentativas de conexão três cenários com mensagens de erro diferentes retornadas ao tentar se conectar.

O primeiro cenário o erro apresentado é o de número 233 descrevendo que não é possível estabelecer a conexão devido à falha no processo de logon. O interessante é que essa mensagem cita em um dos trechos o limite máximo de conexões permitidas como uma das possíveis causas dos problemas.

O segundo é o erro de número 64 que informa que a conexão foi estabelecida, mas também com erro no logon.

O terceiro e último também é o erro de número 64, mas dessa vez foi possível estabelecer a conexão no Object Explorer.

 

Apesar dessa conexão no Object Explorer, qualquer operação via interface não é possível e novos erros são retornados, como a mensagem abaixo.


Resolução


Primeiro passo a ser feito para a solução é tentar a conexão DAC (Conexão de Administrador Dedicada) pelo Management Studio, colocando a instrução ‘ADMIN:’ antes do nome da conexão. Caso seja possível abrir uma sessão, na sequência execute as instruções abaixo para resolver o problema.

sp_configure 'show advanced options', 1
Go
Reconfigure
Go
  
sp_configure 'user connections', 0 --ou outro valor desejado
Go
Reconfigure
Go
 

Nem sempre é tão simples, a solução via Management Studio pode não funcionar, como podemos ver abaixo.

Sendo assim, vamos optar por utilizar o utilitário SqlCmd para fazer a conexão.

Abra o Command Prompt e faça os seguintes passos.

1º - Execute o comando:

sqlcmd.exe -E -S nome_servidor (Ex: .\SERVER2012)

Legenda:

-E (Uso da autenticação do Windows)

-S (Nome da conexão)

2º - Após conectar com sucesso na instância, execute as instruções TSQL linha a linha:

sp_configure 'show advanced options', 1
Go
Reconfigure
Go
  
sp_configure 'user connections', 0 -- ou outro valor desejado
Go
Reconfigure
Go

 

3º - Reinicie o serviço do SQL Server, tente a conexão novamente e provavelmente o problema terá sido resolvido.

 

 

Conclusão


Após passar por esse contratempo durante os testes na propriedade Maximum Number of Concurrent Connections, foi possível contornar através de umas das técnicas acima. Essa é uma propriedade avançada e normalmente apenas cenários de grande concorrência de conexões que necessitará de alteração no valor padrão. Para mais informações veja nas recomendações no site da Microsoft.

 

Obs: Os passos efetuados acima foram simulados em ambientes SQL Server 2014 e 2012 com sucesso.

Referências

Veja Também

Classificar por: Data da Publicação | Mais Recente | Mais Úteis
Comentários
Página 1 de 1 (1 itens)