ver usuarios servicio origen nombre iniciar encuentra desde datos controladores conexiones conectados administrador activas .net sql-server ado.net sqlconnection

.net - usuarios - ¿Cómo puedo saber cuántas conexiones SQL tengo abiertas en un servicio de Windows?



ver conexiones activas sql server (7)

El procedimiento sp_who2 almacenado en la tabla maestra es bueno para esto desde un lado de la base de datos. Le mostrará las conexiones a la base de datos. Si está buscando más datos intente crear perfiles también.

Estoy viendo algunos errores que indicarían una "fuga de conexión". Es decir, conexiones que no se cerraron correctamente y el grupo se está agotando. Entonces, ¿cómo hago para instrumentar esto para ver exactamente cuántos están abiertos en un momento dado?


Implemente un servicio que todas las conexiones se creen, se abran y se cierren. Mantenga un contador allí. Inicie sesión con su marco de registro cada vez que se abra o cierre una conexión.


Puede ejecutar sp_who2 en SQL Server Management Studio o en el Analizador de consultas para ver todas sus conexiones actuales. Eso es SQL Server. No estoy seguro de qué RDBMS estás usando.

Además, busque en su código y asegúrese de cerrar una conexión tan pronto como ya no la necesite. Sé anal sobre esto!


Si está utilizando .net, está el proveedor de datos .net para el servidor SQL en PerfMon. Puedes ver NumberOfPooledConnections allí


Si está utilizando SQL 2000, puede verificar en SQL 2000 Enterprise Manager:

Para ver la ventana Actividad actual En el Administrador corporativo de SQL Server, expanda un grupo de servidores y luego expanda un servidor. Expanda Gestión y luego expanda Actividad actual. Haga clic en Información de proceso.

La actividad actual del servidor se muestra en el panel de detalles.

( http://technet.microsoft.com/en-us/library/cc738560.aspx )

(De la búsqueda de Google: actividad actual de sql 2000)


puede usar la herramienta de perfil para rastrear todas las conexiones existentes y de apertura y cierre

Puede abrir Profiler desde el administrador de la empresa


Use la instrucción "using" para asegurarse de que sus conexiones estén siempre cerradas y nunca más tendrá este problema:

using(SqlConnection connection = new SqlConnection()) { ... } // connection is always disposed (i.e. closed) here, even if an exception is thrown