Con el botón derecho sobre la base de datos podemos sacar el Monitor de Actividad:
Select @@version
Versión de la Base de datos
EXEC SYS.sp_readerrorlog
Devuelve el log de SQL Server.
Analizar sesiones en SQL Server
SELECT host_name, login_name ,COUNT(session_id) AS session_count ,host_process_id,login_time,program_name,cpu_time as time_in_miliseg,reads
FROM sys.dm_exec_sessions
GROUP BY host_name,login_name,host_process_id,login_time,program_name,cpu_time,reads
order by login_time desc
Analizar Pool de conexiones en SQL Server
Normalmente admite máximo 100 a partir de 100 el servidor cae, se puede aumentar ese valor en la conexión, pero es mejor asegurar que se cierra cada conexión una vez abieta, así se ahorran recursos
SELECT @@ServerName AS server, NAME AS dbname, LOGINAME AS LoginName, COUNT(STATUS) AS number_of_connections,GETDATE() AS timestamp
FROM sys.databases sd
LEFT JOIN sys.sysprocesses sp ON sd.database_id = sp.dbid
WHERE database_id NOT BETWEEN 1 AND 4
AND LOGINAME IS NOT NULL
GROUP BY NAME,LOGINAME;
Sentencias SQL Abiertas en el POOL de conexiones
Ver que SQL están abiertas en cada conexión, ayuda a distinguir que zonas del código no cierran la conexión y generan el problema de máximo número de conexiones.
SELECT S.loginame,status, S.spid, login_time, last_batch, hostname, program_name, cmd,
(
select text from sys.dm_exec_sql_text(S.sql_handle)
) as last_sql
FROM sys.sysprocesses S
where dbid > 0
order by S.loginame, status asc, last_batch desc