Programador de tareas para SQL Server Express

19

Tengo una aplicación ASP.NET MVC que funciona con la base de datos en la edición SQL Server 2008 R2 Express. Es necesario realizar una tarea regular para actualizar algunos registros en la base de datos.

Desafortunadamente, la Edición Express carece de Agente SQL.
¿Qué enfoque recomendarías?

movimiento rápido del ojo
fuente
pregunta similar formulada en SO
CoderHawk

Respuestas:

9

Use ExpressMain, es una solución muy útil para los usuarios de SQL Server Express.

ExpressMaint

Descripción del Proyecto

Este proyecto mantiene dos utilidades para automatizar la copia de seguridad y el mantenimiento de bases de datos para SQL Server 2005/2008 / 2008R2 Express Edition. Se basan en la aplicación sqlmaint que vino con SQL Server 2000 pero actualizada para SQL Server 2005/2008 / 2008R2. Hay una aplicación de consola VB.NET independiente y un procedimiento almacenado de SQL, que demuestra cómo automatizar las tareas de copia de seguridad y mantenimiento de la base de datos a través de SMO (SQL Management Objects) o TSQL.

Estos dos artículos lo ayudarán a usarlo
http://www.sqldbatips.com/showarticle.asp?ID=27
http://www.sqldbatips.com/showarticle.asp?ID=29

CoderHawk
fuente
15

Puede consultar el proyecto de código abierto del Agente SQL independiente . Utiliza las tablas y procedimientos nativos del Agente SQL (que todavía existen en SQL Express) para almacenar los trabajos que reemplazan al Agente SQL en sí. El motor está bastante bien hecho para los comandos T / SQL y Dos. Cosas como SSIS, etc. todavía no se han hecho. Además, el editor solo tiene aproximadamente la mitad, pero el motor para ejecutar los trabajos es la parte importante.

mrdenny
fuente
8

Puede usar el programador de tareas incorporado de Windows para ejecutar un script SQL utilizando las herramientas de línea de comandos que se proporcionan con SQL Express. Creo que http://msdn.microsoft.com/en-us/library/ms162773.aspx es incluido con todas las ediciones de SQL 2005 y 2008, incluido Express.

Recomendaría configurar un usuario específicamente para esto y ejecutar el script registrado a través de la autenticación integrada de Windows. Si utiliza la autenticación basada en usuario / contraseña, asegúrese de proteger correctamente el archivo que contiene la contraseña, especialmente si la máquina es compartida. Además de ser más detallista sobre lo que los usuarios pueden hacer en su base de datos, la otra ventaja de ejecutar la tarea como un usuario diferente de Windows es que no necesita perder el tiempo para asegurarse de que no se abran ventanas de la consola que se interpongan en su camino si se ejecuta mientras está conectado (si lo ejecuta usted mismo, puede encontrar una ventana de consola emergente y reclamar el foco cuando se ejecuta la tarea).

David Spillett
fuente
Una vez me encontré con un sitio que ejecuta SQL 6.5 en NT4, donde usarían el comando incorporado de Windows AT para iniciar Internet Explorer, que cargaría una página de Cold Fusion que contenía el SQL de su trabajo por lotes ... Lo curioso fue que tenía SQL Executive (como ISTR se llamaba entonces), simplemente no sabían cómo usarlo.
Gaius
6

He tenido éxito en el pasado con Teratrax Job Scheduler: http://www.teratrax.com/tjs/

Básicamente, puede configurar scripts SQL para que se ejecuten en un horario. Muy fácil de usar y tiene una pequeña GUI práctica para administrar sus horarios. También tiene un sistema incorporado de notificación por correo electrónico que puede usar para notificaciones de éxito / fracaso, etc.

La desventaja de las soluciones mencionadas anteriormente es que viene con un precio de $ 99, aunque hay una versión de prueba gratuita en caso de que desee echar un vistazo.

GShenanigan
fuente