13

Sto cercando un modo per periodicamente (ad esempio settimanalmente) di eseguire alcune istruzioni SQL in un database per cancellare i vecchi dati. Per quanto posso vedere, ci sono (almeno) due modi per farlo:SQL Server: devo utilizzare un "Lavoro agente" o un "Piano di manutenzione" per cancellare i vecchi dati?

  • utilizzando un "piano di manutenzione" e "Execute T-SQL Statement Task"
  • utilizzando un "Agente SQL Server Lavoro "e specificare le dichiarazioni in un" Passo "di quel lavoro

La mia domanda è: qual è la differenza tra queste due possibilità e quale dovrei usare per il mio compito?

risposta

16

Non è davvero una scelta o due; c'è qualche sovrapposizione.

Pensa a un piano di manutenzione come una serie di passaggi per "fare qualcosa" ai tuoi database; questi passaggi sono incapsulati in un piano che deve essere programmato per essere eseguito.

SQL Server Agent è il servizio che esegue periodicamente i lavori; un lavoro è tutto ciò che è pianificato per essere eseguito. Un piano di manutenzione è un lavoro.

Quando si pianifica l'esecuzione di un piano di manutenzione, si sta effettivamente creando un lavoro (o lavori, grazie a DJ) affinché l'agente SQL Server venga eseguito periodicamente.

Ora, per quanto riguarda la scelta del modo migliore (eseguire la procedura guidata Piano di manutenzione o direttamente tramite l'agente), direi che per la maggior parte dei database, la Procedura guidata piano di manutenzione è sufficiente. È possibile aggiungere ulteriori passaggi ai lavori creati dal piano di manutenzione, ma ciò dipende dal proprio ambiente.

Ha senso?

+0

Per chiarire: un piano di manutenzione può creare più lavori –

+0

Molto vero :) Ho trascurato questo nel mio tentativo di semplificare. –

+0

Quindi il piano di manutenzione è solo un'interfaccia utente grafica per creare processi di agente server SQL e inserirli in un ordine specifico? – M4N

Problemi correlati