![sin imagen de perfil sin imagen de perfil](/img/anonymouse.png)
Ejecutar un proceso cada segundo exacto en sql server![gráfica de visualizaciones gráfica de visualizaciones](/img/img.png?11.51)
SQL
Publicado el 17 de Diciembre del 2012 por Xebas Garcia
20.984 visualizaciones desde el 17 de Diciembre del 2012
Query que muestra como ejecutar un proceso/instrucción cada segundo.
Básicamente, hay un contador (@c) que va a ir incrementando según un intervalo de tiempo (@time = @sec + 1 ) , en este caso 1 segundo (es el que aparece a la derecha de @sec) y lo limite a que el contador llegue a 5 (en el while, para no hacerlo tan grande pero puede hacerse un bucle infinito para que funcione como un reloj y funcione exactamente como lo es con el famoso "Timer" o "setInterval").
@sec: Es el segundo REAL, obtenido del servidor donde esté alojada la base de datos. ( GETDATE() )
@time: Es a donde tiene que llegar el segundero para poder cumplir la acción (es un select, pero por ejemplo puede expandirse con EXEC (@syntaxSql) para hacerlo más customizable)
Funciona en SQL Server 2000/2005/2008/2008 R2
Básicamente, hay un contador (@c) que va a ir incrementando según un intervalo de tiempo (@time = @sec + 1 ) , en este caso 1 segundo (es el que aparece a la derecha de @sec) y lo limite a que el contador llegue a 5 (en el while, para no hacerlo tan grande pero puede hacerse un bucle infinito para que funcione como un reloj y funcione exactamente como lo es con el famoso "Timer" o "setInterval").
@sec: Es el segundo REAL, obtenido del servidor donde esté alojada la base de datos. ( GETDATE() )
@time: Es a donde tiene que llegar el segundero para poder cumplir la acción (es un select, pero por ejemplo puede expandirse con EXEC (@syntaxSql) para hacerlo más customizable)
Funciona en SQL Server 2000/2005/2008/2008 R2
Comentarios sobre la versión: Versión 1 (4)
Por ejemplo, Linea 19, cambia el 5 por las veces que quieres que se ejecute.
Linea 28, cambia el 1 por la cantidad de segundos para que transcurra de nuevo (300 es cada 5 minutos, por ejemplo)
Y la linea 25 será el script que quieres se ejecute.
Lo implementaré en una mesa de servicio para monitorear algunas actividades sin generar un job.
Muchas Gracias.