sp_delete_jobsteplog (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure
Rimuove tutti i log dei passaggi del processo di SQL Server Agent specificati con gli argomenti . Utilizzare questa stored procedure per gestire la tabella sysjobstepslogs nel msdb
database.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
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 ]
[ ; ]
Argomenti
[ @job_id = ] 'job_id'
Numero di identificazione del processo in cui è contenuto il log dei passaggi di processo da rimuovere. @job_id è uniqueidentifier, con un valore predefinito .NULL
È necessario specificare @job_id o @job_name , ma non è possibile specificare entrambi.
[ @job_name = ] N'job_name'
Il nome del processo. @job_name è sysname, con il valore predefinito NULL
.
È necessario specificare @job_id o @job_name , ma non è possibile specificare entrambi.
[ @step_id = ] step_id
Numero di identificazione del passaggio del processo per cui si desidera eliminare il log dei passaggi di processo. @step_id è int, con il valore predefinito NULL
. Se non è incluso, tutti i log dei passaggi del processo vengono eliminati a meno che non vengano specificati @older_than o @larger_than .
È possibile specificare @step_id o @step_name , ma non è possibile specificare entrambi.
[ @step_name = ] N'step_name'
Nome del passaggio del processo per cui è necessario eliminare il log dei passaggi di processo. @step_name è sysname, con un valore predefinito .NULL
È possibile specificare @step_id o @step_name , ma non è possibile specificare entrambi.
[ @older_than = ] older_than
Data e ora del log dei passaggi di processo meno recente che si desidera mantenere. @older_than è datetime, con un valore predefinito .NULL
Verranno rimossi tutti i log dei passaggi di processo antecedenti questa data e ora.
È possibile specificare sia @older_than che @larger_than.
[ @larger_than = ] larger_than
Dimensione in byte del log dei passaggi di processo più grande che si desidera mantenere. @larger_than è int, con il valore predefinito .NULL
Vengono rimossi tutti i log dei passaggi di processo la cui dimensione è maggiore rispetto a quella indicata.
È possibile specificare sia @older_than che @larger_than.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Set di risultati
Nessuno.
Osservazioni:
sp_delete_jobsteplog
si trova nel msdb
database.
Se non vengono specificati argomenti tranne @job_id o @job_name , tutti i log dei passaggi del processo per il processo specificato vengono eliminati.
Autorizzazioni
Questa stored procedure è di proprietà del ruolo db_owner . È possibile concedere EXECUTE
autorizzazioni per qualsiasi utente, ma queste autorizzazioni possono essere sottoposte a override durante un aggiornamento di SQL Server.
È necessario concedere ad altri utenti uno dei ruoli predefiniti del database di SQL Server Agent seguenti:msdb
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Per informazioni dettagliate sulle autorizzazioni di questi ruoli, vedere Ruoli di database predefiniti di SQL Server Agent.
Solo i membri di sysadmin possono eliminare un log dei passaggi del processo di proprietà di un altro utente.
Esempi
R. Rimuovere tutti i log dei passaggi del 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. Rimuovere il log dei passaggi del 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. Rimuovere tutti i log dei passaggi del 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