Condividi tramite


sp_delete_schedule (Transact-SQL)

Elimina una pianificazione.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

sp_delete_schedule { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
     [ @force_delete = ] force_delete

Argomenti

  • [ @schedule_id= ] schedule_id
    Numero di identificazione della pianificazione che si desidera eliminare. schedule_id è di tipo int e il valore predefinito è NULL.

    [!NOTA]

    È necessario specificare l'argomento schedule_id oppure l'argomento schedule_name ma non è possibile specificarli entrambi.

  • [ @schedule_name= ] 'schedule_name'
    Nome della pianificazione che si desidera eliminare. schedule_name è di tipo sysname e il valore predefinito è NULL.

    [!NOTA]

    È necessario specificare l'argomento schedule_id oppure l'argomento schedule_name ma non è possibile specificarli entrambi.

  • [ @force_delete = ] force_delete
    Specifica se la stored procedure avrà esito negativo se la pianificazione è associata a un processo. Force_delete è di tipo bit e il valore predefinito è 0. Se force_delete è 0, la stored procedure ha esito negativo se la pianificazione è associata a un processo. Se force_delete è 1, la pianificazione verrà eliminata indipendentemente dal fatto che la pianificazione sia associata a un processo.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

Nessuno

Osservazioni

Per impostazione predefinita, una pianificazione non può essere eliminata se è associata a un processo. Per eliminare una pianificazione associata a un processo, specificare 1 per force_delete. L'eliminazione di una pianificazione non comporta l'arresto dei processi in esecuzione.

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

Notare che il proprietario del processo può collegare un processo a una pianificazione e può scollegare un processo da una pianificazione senza dovere essere anche il proprietario della pianificazione. Tuttavia, non è possibile eliminare una pianificazione se lo scollegamento la lascia senza processi, a meno che il chiamante sia il proprietario della pianificazione.

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

Solo i membri del ruolo sysadmin possono eliminare una pianificazione di processi di proprietà di un altro utente.

Esempi

A.Eliminazione di una pianificazione

Nell'esempio seguente viene eliminata la pianificazione NightlyJobs. Se è associata a un processo qualsiasi, la pianificazione non verrà eliminata.

USE msdb ;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = N'NightlyJobs' ;
GO

B.Eliminazione di una pianificazione associata a un processo

Nell'esempio seguente viene eliminata la pianificazione RunOnce anche se è associata a un processo.

USE msdb ;
GO

EXEC dbo.sp_delete_schedule
    @schedule_name = 'RunOnce',
    @force_delete = 1;
GO

Vedere anche

Riferimento

sp_add_schedule (Transact-SQL)

Concetti

Implementazione di processi