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

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?

0
agregado editado
Puntos de vista: 1

7 Respuestas

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
0
agregado

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

0
agregado

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.

0
agregado

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.

0
agregado

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

0
agregado

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

Para ver la ventana Actividad actual en   Administrador corporativo de SQL Server, expanda   un grupo de servidores, y luego expandir un   servidor. Expandir Gestión, y luego   expanda Actividad actual. Click Proceso   Info.

     

La actividad actual del servidor es   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)

0
agregado

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!

0
agregado