Condividi tramite


sp_delete_jobsteplog (Transact-SQL)

Rimuove tutti i log dei passaggi di processo di SQL Server Agent specificati con gli argomenti. Utilizzare questa stored procedure per gestire la tabella sysjobstepslogs del database msdb.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_delete_jobsteplog { [ @job_id = ] 'job_id' | [ @job_name = ] 'job_name' }
       [ , [ @step_id = ] step_id| [ @step_name = ] 'step_name' ]
       [ , [ @older_than = ] 'date' ]
       [ , [ @larger_than = ] 'size_in_bytes' ]

Argomenti

  • [ @job_id =] 'job_id'
    Numero di identificazione del processo che contiene il log dei passaggi di processo da rimuovere. job_id è di tipo int e il valore predefinito è NULL.

  • [ @job_name =] 'job_name'
    Nome del processo. job_name è di tipo sysname e il valore predefinito è NULL.

    [!NOTA]

    È necessario specificare l'argomento job_id oppure l'argomento job_name ma non è possibile specificarli entrambi.

  • [ @step_id =] step_id
    Numero di identificazione del passaggio del processo per cui si desidera eliminare il log dei passaggi di processo. Se omesso, verranno eliminati tutti i log dei passaggi di processo a meno che non venga specificato @older_than o @larger_than. step_id è di tipo int e il valore predefinito è NULL.

  • [ @step_name =] 'step_name'
    Nome del passaggio del processo per cui verrà eliminato il log dei passaggi di processo. step_name è di tipo sysname e il valore predefinito è NULL.

    [!NOTA]

    È necessario specificare l'argomento step_id oppure l'argomento step_name ma non è possibile specificarli entrambi.

  • [ @older_than =] 'date'
    Data e ora del log dei passaggi di processo meno recente che si desidera mantenere. Verranno rimossi tutti i log dei passaggi di processo antecedenti questa data e ora. date è di tipo datetime e il valore predefinito è NULL. È possibile specificare sia @older_than che @larger_than.

  • [ @larger_than =] 'size_in_bytes'
    Dimensione in byte del log dei passaggi di processo più grande che si desidera mantenere. Verranno rimossi tutti i log dei passaggi di processo di dimensioni maggiori di quella specificata. È possibile specificare sia @larger_than che @older_than.

Valori di codice restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

Nessuno

Osservazioni

sp_delete_jobsteplog è disponibile nel database msdb.

Se non vengono specificati altri argomenti oltre a @job_id o @job_name, vengono eliminati tutti i log dei passaggi di processo relativi al processo specificato.

Autorizzazioni

Per impostazione predefinita, questa stored procedure può essere eseguita dai membri del ruolo predefinito del server sysadmin. Gli altri utenti devono appartenere a uno dei seguenti ruoli predefiniti del database di SQL Server Agent nel database msdb:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Per informazioni sulle autorizzazioni di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.

Solo i membri del ruolo sysadmin possono eliminare un log dei passaggi di processo di proprietà di un altro utente.

Esempi

A. Rimozione di tutti i log dei passaggi di processo da un processo

Nell'esempio seguente vengono rimossi tutti i log dei passaggi di processo del processo Weekly Sales Data Backup.

USE msdb ;
GO

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

B. Rimozione del log dei passaggi di processo per un passaggio di processo specifico

Nell'esempio seguente viene rimosso il log relativo al passaggio 2 del processo Weekly Sales Data Backup.

USE msdb ;
GO

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

C. Rimozione di tutti i log dei passaggi di processo in base all'età e alle dimensioni

Nell'esempio seguente tutti i log dei passaggi di processo antecedenti le ore 12.00 del 25 ottobre 2005 e di dimensioni maggiori di 100 MB vengono rimossi dal processo 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