web-dev-qa-db-fra.com

Comment créer un travail planifié dans SQL Server 2008 via T-SQL?

Je souhaite créer un travail qui supprime les enregistrements d'une base de données après une période donnée. Par exemple, j'ai un champ dans la table de nouvelles Time Stamp et chaque mois, une requête SQL s'exécute comme un travail planifié sur ma base de données et supprime les nouvelles dont l'horodatage est vieux de deux mois. En règle générale, je souhaite supprimer les actualités d'il y a 2 mois et plus afin de ne pas laisser ma table devenir une grande table. Comment puis-je accomplir cela?

11
user2166535

vous devriez créer un travail en SQL ci-dessous est un exemple de code T-SQL pour créer un travail via un 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
13
saeed

Vous devrez créer un Agent SQL Agent pour planifier l'exécution périodique d'un travail. Si vous souhaitez créer le travail avec T-SQL, reportez-vous à la section Procédure: créer un travail d'agent SQL Server (Transact-SQL) .

0
Fls'Zen