Estou executando o SQL Server 2008 R2 SP1, em uma caixa do Windows Server 2008. Eu tenho um script .NET em execução no Visual Studio 2010 que faz o seguinte:
- Chega ao banco de dados
- Faz uma mudança
- Iterates
O número total de vezes que iterará é 150, no entanto, ele está parando em 100 conexões e não consigo descobrir o porquê. Eu poderia ajustar meu script para usar apenas um único thread, mas prefiro saber onde estou perdendo uma configuração de conexão máxima, pois será mais útil saber para referência futura.
Aqui é onde eu verifiquei até agora:
- String de conexão SQL no Visual Studio 2010 (está definido como 1000)
- Propriedades de conexão da instância do banco de dados SSMS (é definido como 0 [infinito] conexões de usuário)
- Pesquisou algumas informações no Server 2008, parece que ele pode lidar com mais de 100 conexões
- Percorreu meu código ao lado, o
SP_WHO2
qual fornece mais informações sobre conexões lógicas, visto que o número de conexões começa em 52 e os erros de script com o erro "Máximo de conexões em pool atingidas" em 152 conexões lógicas. - Alterada a cadeia de conexão a ser usada
Data Source=PerfSQL02;Initial Catalog=Masked;Integrated Security=True;Max Pool Size=1000
Não tenho certeza de onde mais verificar, sei que tenho muitas partes móveis aqui, mas estou com a sensação de que estou perdendo uma configuração máxima de piscina em algum lugar.
System.Data.SqlClient
padrão é 100, e é por isso que você vê a exaustão do conjunto de conexões).