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 ?
Réponses
Trop de publicités?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
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) .