sp_delete_jobsteplog (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Supprime tous les journaux d’étape de travail SQL Server Agent spécifiés avec les arguments. Utilisez cette procédure stockée pour gérer la table sysjobstepslogs dans la msdb base de données.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_delete_jobsteplog
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @step_id = ] step_id ]
    [ , [ @step_name = ] N'step_name' ]
    [ , [ @older_than = ] older_than ]
    [ , [ @larger_than = ] larger_than ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

Numéro d'identification du travail qui contient le journal d'étapes de travail à supprimer. @job_id est uniqueidentifier, avec la valeur par défaut NULL.

Vous devez spécifier @job_id ou @job_name , mais les deux ne peuvent pas être spécifiées.

[ @job_name = ] N’job_name'

Nom du travail. @job_name est sysname, avec la valeur par défaut NULL.

Vous devez spécifier @job_id ou @job_name , mais les deux ne peuvent pas être spécifiées.

[ @step_id = ] step_id

Numéro d'identification de l'étape de travail pour laquelle le journal d'étapes doit être supprimé. @step_id est int, avec la valeur par défaut NULL. S’il n’est pas inclus, tous les journaux d’étape du travail sont supprimés, sauf si @older_than ou @larger_than sont spécifiés.

Vous pouvez spécifier @step_id ou @step_name , mais les deux ne peuvent pas être spécifiées.

[ @step_name = ] N’step_name'

Nom de l'étape de travail pour laquelle le journal d'étapes doit être supprimé. @step_name est sysname, avec la valeur par défaut NULL.

Vous pouvez spécifier @step_id ou @step_name , mais les deux ne peuvent pas être spécifiées.

[ @older_than = ] older_than

Date et heure du plus ancien journal d'étapes de travail à conserver. @older_than est datetime, avec la valeur par défaut NULL. Tous les journaux d'étapes de travail antérieurs à cette date/heure sont supprimés.

Les @older_than et les @larger_than peuvent être spécifiés.

[ @larger_than = ] larger_than

Taille en octets du journal d'étapes de travail le plus volumineux à conserver. @larger_than est int, avec la valeur par défaut NULL. Tous les journaux d'étapes de travail dont la taille est supérieure à celle spécifiée sont supprimés.

Les @older_than et les @larger_than peuvent être spécifiés.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Jeu de résultats

Aucune.

Notes

sp_delete_jobsteplog se trouve dans la msdb base de données.

Si aucun argument, sauf @job_id ou @job_name sont spécifiés, tous les journaux d’étapes de travail pour le travail spécifié sont supprimés.

Autorisations

Cette procédure stockée appartient au rôle db_owner . Vous pouvez accorder EXECUTE des autorisations pour n’importe quel utilisateur, mais ces autorisations peuvent être remplacées lors d’une mise à niveau de SQL Server.

D’autres utilisateurs doivent disposer de l’un des rôles de base de données fixes SQL Server Agent suivants dans la msdb base de données :

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Pour en savoir plus sur les autorisations de ces rôles, consultez Rôles de base de données fixes de l'Agent SQL Server.

Seuls les membres de sysadmin peuvent supprimer un journal des étapes de travail appartenant à un autre utilisateur.

Exemples

R. Supprimer tous les journaux des étapes de travail d’un travail

L'exemple suivant montre la suppression de tous les journaux d'étapes du travail Weekly Sales Data Backup.

USE msdb;
GO

EXEC dbo.sp_delete_jobsteplog
    @job_name = N'Weekly Sales Data Backup';
GO

B. Supprimer le journal des étapes du travail pour une étape de travail particulière

L'exemple suivant montre la suppression du journal d'étapes de travail pour l'étape 2 du travail Weekly Sales Data Backup.

USE msdb;
GO

EXEC dbo.sp_delete_jobsteplog
    @job_name = N'Weekly Sales Data Backup',
    @step_id = 2;
GO

C. Supprimer tous les journaux des étapes de travail en fonction de l’âge et de la taille

L'exemple suivant montre la suppression de tous les journaux d'étapes de travail créés avant le 25 octobre 2005 à midi et dont la taille est supérieure à 100 mégaoctets (Mo) pour le travail Weekly Sales Data Backup.

USE msdb;
GO

EXEC dbo.sp_delete_jobsteplog
    @job_name = N'Weekly Sales Data Backup',
    @older_than = '10/25/2005 12:00:00',
    @larger_than = 104857600;
GO