11 votes

Comment créer une tâche planifiée dans le serveur SQL 2008 via T-SQL ?

Je veux créer une tâche qui supprime les enregistrements d'une base de données après une période de temps donnée. Par exemple, j'ai un champ dans le tableau des actualités Time Stamp et chaque mois, une requête SQL s'exécute comme une tâche planifiée dans ma base de données et supprime les actualités dont l'horodatage date de deux mois. En général, je veux supprimer les actualités datant de deux mois ou plus pour éviter que ma table ne devienne trop volumineuse. Comment puis-je réaliser cela ?

13voto

saeed Points 2147

Vous devriez créer un emploi en SQL Voici un exemple de T-SQL pour créer un travail via l'agent SQL

USE msdb ;
GO
EXEC dbo.sp_add_job
    @job_name = N'Weekly Sales Data Backup' ;
GO
EXEC sp_add_jobstep
    @job_name = N'Weekly Sales Data Backup',
    @step_name = N'Set database to read only',
    @subsystem = N'TSQL',
    @command = N'ALTER DATABASE SALES SET READ_ONLY', 
    @retry_attempts = 5,
    @retry_interval = 5 ;
GO
EXEC dbo.sp_add_schedule
    @schedule_name = N'RunOnce',
    @freq_type = 1,
    @active_start_time = 233000 ;
USE msdb ;
GO
EXEC sp_attach_schedule
   @job_name = N'Weekly Sales Data Backup',
   @schedule_name = N'RunOnce';
GO
EXEC dbo.sp_add_jobserver
    @job_name = N'Weekly Sales Data Backup';
GO

0voto

Fls'Zen Points 3409

Vous devrez créer un Emploi d'agent SQL pour planifier l'exécution périodique d'un travail. Si vous souhaitez créer le travail avec T-SQL, reportez-vous à la section Comment faire : Créer une tâche d'agent SQL Server (Transact-SQL) .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X