Oude situatie
Ik heb een daemon in .NET 2.0 draaien op W2K3. Die maakt via 20 verschillende connecties verbinding met 1 SQLServer2K5 database:[list]
• 10 connecties met dezelfde connectionString
• 10 connecties met elk een eigen connectionString
Dus in toaal 11 unieke connectionStrings die elke een eigen User Id hebben. Die user is vervolgens gekoppeld aan bepaalde rechten binnen de database.
Nieuwe situatie
Nu heb ik die daemon gegooid op W2K8 + SQLServer2K8, en zijn alle connectionStrings hetzelfde geworden. Er is nog maar 1 login die nu overal rechten op heeft.Scenario
De daemon dient om een ASP.NET client via .NET remoting te bedienen. Dus als er een remoting request binnenkomt, wordt die op de gangbare manier afgehandeld (SingleCall).Verder zijn er een 3-tal background threads die data pollen en updaten.
Probleem
De oude opstelling heeft nooit problemen gegeven, maar in de nieuwe opstelling verslikt zich om de paar uur een background thread in de SqlConnectie, met volgende melding:code:
1
2
3
4
5
| System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) |
Niet alleen de background threads hebben het probleem. Soms manifesteert het zich ook in een client request vanuit een ASP.NET-site.
Oplossingen
Het is ondertussen ook al gebeurd dat alle clients bleven hangen. De daemon herstarten loste het probleem op.Ik vermoed dat het wel of niet manifesteren van het probleem samenhangt met pooling. Ik heb ook al eens Pooling=false gebruikt in alle connectionStrings, maar toen ging het nog sneller fout. Dus wellicht raak ik nog een andere limiet?
Verder zou ik graag perfmon gebruiken om het probleem te analyseren, maar op beide servers (IIS7 op W2K8 en SQL2k8 op W2K8) hebben de relevante counters (#connections etc) geen instances
Ik begin een beetje weg te zakken in een moeras. Wellicht dat hier nog iemand een goeie tip heeft om dit probleem te tackelen?
Wij onderbreken deze thread voor reclame:
http://kalders.be