13

Estoy buscando una manera de periódicamente (por ejemplo, semanalmente) ejecutar algunas declaraciones SQL en una base de datos para eliminar datos antiguos. Por lo que yo puedo ver, hay (al menos) dos maneras de hacer esto:Servidor SQL: ¿debería utilizar un "Trabajo del agente" o un "Plan de mantenimiento" para eliminar los datos antiguos?

  • utilizando un "Plan de mantenimiento" y un "Ejecutar T-SQL Declaración de tareas"
  • usando un "agente de SQL Server Trabajo "y especifique las declaraciones en un" Paso "de ese trabajo

Mi pregunta es: ¿cuál es la diferencia entre estas dos posibilidades y cuál debo usar para mi tarea?

Respuesta

16

No es realmente una elección de ambos; hay cierta superposición.

Piense en un plan de mantenimiento como un conjunto de pasos para "hacer algo" en sus bases de datos; esos pasos están encapsulados en un plan que debe programarse para ejecutarse.

El Agente SQL Server es el servicio que periódicamente ejecuta trabajos; un trabajo es todo lo que está programado para ejecutarse. Un plan de mantenimiento es un trabajo.

Cuando planifica un plan de mantenimiento para ejecutar, en realidad está creando un trabajo (o trabajos, gracias DJ) para que el agente de SQL Server se ejecute periódicamente.

Ahora, en cuanto a elegir cuál es el mejor camino (para pasar por el asistente de Plan de Mantenimiento o directamente a través del Agente), diría que para la mayoría de las bases de datos, el Asistente de Plan de Mantenimiento es suficiente. Es posible que desee agregar pasos adicionales a los trabajos creados por el plan de mantenimiento, pero eso depende de su entorno.

¿Tiene sentido?

+0

Para aclarar: un plan de mantenimiento puede crear varios trabajos –

+0

Muy cierto :) Pasé por alto eso en mi intento de simplificar. –

+0

Entonces, ¿el plan de mantenimiento es solo una interfaz gráfica de usuario para crear trabajos de SQL Server Agent y ponerlos en un orden específico? – M4N

Cuestiones relacionadas