Estamos usando a autenticação SQL (para reduzir o número de conjuntos de conexões) e as seqüências de conexão .NET 4.0 para conectar-se ao SQL Server Enterprise Edition 2012 SP1 em um Windows 2008 R2 Enterprise Server:
Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64)
19 de outubro de 2012 13:38:57
Direitos autorais (c) Microsoft Corporation
Enterprise Edition (64 bits) no Windows NT 6.1 (Build 7601: Service Pack 1)
Utilizamos cerca de 50 servidores, divididos em 8 grupos diferentes, diferentes partes de um site.
Nosso site está usando este SQL Server para registrar dados de rastreamento de visitas. Nos últimos dias, ele enviou as seguintes mensagens sobre os conjuntos de conexões de redefinição:
O cliente não pôde reutilizar uma sessão com o SPID 1327, que foi redefinida para o pool de conexões. O ID da falha é 46. Esse erro pode ter sido causado por uma operação anterior falhando. Verifique os logs de erros em busca de operações com falha imediatamente antes desta mensagem de erro.
O log de erros lê:
Erro: 18056, Gravidade: 20, Estado: 46.
O cliente não pôde reutilizar uma sessão com o SPID 959, que foi redefinido para o pool de conexões. O ID da falha é 46. Esse erro pode ter sido causado por uma operação anterior falhando. Verifique os logs de erros em busca de operações com falha imediatamente antes desta mensagem de erro.
Falha no login para o usuário 'xxxx'. Motivo: falha ao abrir o banco de dados 'xxxxxxxx' configurado no objeto de logon ao revalidar o logon na conexão. [CLIENTE: 10.xx.xx.xxx]
Após algumas pesquisas, encontrei este documento no blog CSS: How It Works: Erro 18056 - O cliente não conseguiu reutilizar uma sessão com o SPID ##, que foi redefinido para o pool de conexões e esta por Aaron Bertrand: Solucionando problemas do erro 18456 . Sei que o número do erro é diferente, mas o ID da falha é o mesmo, com várias mensagens idênticas).
A identificação de falha 46 sugere que o logon não tem permissões. Nossos logins são padronizados no banco de dados mestre e o nome do banco de dados é especificado na cadeia de conexão.
Eu queria verificar o número de conjuntos de cadeias de conexão, etc. e verifiquei todos os contadores no Perfmon .Net Data Provider for SqlServer
. Isso só me deu a opção de defaultdomain9675
instância, por isso selecionei que, assumindo que esse é um nome de ID gerado pelo sistema para nossa rede de datacenter. Infelizmente, todos os contadores estão com zero. Em um de nossos outros servidores principais, os pools de conexões estão pairando em torno de 10, o que eu esperava ver em um servidor íntegro com esse tipo de carga.
Minha pergunta é 3 vezes
Alguém pode sugerir por que o Windows 2008 R2 Server não está aparecendo
.Net Data Provider for SqlServer
?Alguém já experimentou isso, como eu obviamente acredito que o login sem permissões é um arenque vermelho?
Se grupos diferentes de servidores da Web tiverem a mesma sintaxe de cadeia de conexão, mas com espaço em branco ligeiramente diferente, isso faria com que o servidor usasse outro conjunto de conexões?
As configurações de memória mínima e máxima são 20 GB e 58 GB, respectivamente. O servidor é um servidor de banco de dados dedicado com 64 GB de RAM. Não acho que a memória seja o problema, pois a caixa parece ter uma expectativa decente de vida útil da página. O fechamento automático não está ativado. O servidor está sempre ativo: este é um site 24x7 com uso intenso.