tutorial from descargar create activity actividad database sql-server-2005 monitor progress

database - descargar - sql server create temporary table from select



Monitoreando el progreso de una consulta SQL en el SERVIDOR SQL. (4)

Lo que quieres son Live Query Statistics .

Puede activarlo en la versión más reciente de SSMS con un botón al lado del que le ofrece el plan de consulta normal:

Esto entonces le da un plan de consulta en vivo:

En la parte inferior se ve el progreso total:

Vi una pregunta similar que preguntaba cómo monitorear el progreso de una operación de copia de seguridad / restauración: ¿Existe un script SQL que pueda usar para determinar el progreso de un proceso de copia de seguridad o restauración de SQL Server?

Me gustaría saber si hay una consulta / forma similar para ver cuánto tiempo le queda a la consulta hasta que termine. Por ejemplo, una consulta generalmente tiene un tiempo transcurrido de 5 minutos. Me gustaría saber cuánto tiempo queda hasta que finalice DURANTE la ejecución de la consulta.


No hay manera de saber cuánto tiempo queda. El tiempo de ejecución de una consulta depende de muchas cosas que van más allá de la consulta en sí: bloqueo / bloqueo de otras consultas, otros procesos que consumen recursos (CPU / uso de disco), el sistema operativo, la red, etc. otra persona inicia un informe grande, su consulta puede ejecutarse a las 5:30 ahora. ¿Qué pasa si alguien comienza a descargar un archivo grande y absorbe todo el ancho de banda de la red? ¿Qué pasa si el sistema operativo decide hacer algo en segundo plano, etc.? Hasta que se devuelvan todas las filas, la consulta no se realiza, pero puede ejecutarse en un marco de tiempo variable.


Sí, puede conocer el tiempo transcurrido estimado, a menos que haya una situación inesperada que afecte la ejecución del proceso.

Select total_elapsed_time, * from sys.dm_exec_sessions where session_id="your Id here"


sys.dm_exec_requests tiene esa información, así que algo así te dará el progreso:

SELECT percent_complete FROM sys.dm_exec_requests --where session_id=51 or command like ''restore%''