2010-12-20 3 views
2

Ich programmiere eine Anwendung mit C# und SQL Server 2008. Wie kann ich die Anzahl der geöffneten Verbindungen ermitteln, die noch nicht geschlossen sind?Anzahl der geöffneten Verbindungszeichenfolge in meiner Anwendung abrufen

Auch wenn ich eine Verbindung mit 20 Minuten Timeout öffnen, und schließe es nicht - wird es nach 20 Minuten geschlossen?

+0

Ich weiß nicht, die Antwort auf Ihre Frage, aber ich würde systematisch Schließen der Verbindung nach dem Gebrauch empfehlen, wird der Server kennen wie man die Verbindungen im Cache speichert, damit es kein Overhead ist. – Raj

Antwort

0

Sie sollten in der Lage sein, PerfMon SQL Server-Leistungsindikatoren für die SQL Server-Instanz zu verwenden, um offene Verbindungen zu dem externen Server Ihrer Anwendung zu überwachen ... insbesondere, wenn Ihre Anwendung (wahrscheinlich) von bestimmten Verbindungen abstrahiert wird mit Connection Pooling

Here is a quick article auf jemandem das Problem demonstriert und es

4

Überwachung Dies zeigt die Anzahl der Verbindungen pro jede DB:

SELECT 
    DB_NAME(dbid) as DBName, 
    COUNT(dbid) as NumberOfConnections, 
    loginame as LoginName 
FROM 
    sys.sysprocesses 
WHERE 
    dbid > 0 
GROUP BY 
    dbid, loginame 

und dies gibt die Gesamt:

SELECT 
    COUNT(dbid) as TotalConnections 
FROM 
    sys.sysprocesses 
WHERE 
    dbid > 0 

Wenn Sie weitere Einzelheiten benötigen, laufen:

sp_who2 'Active' 
Verwandte Themen