Condividi tramite


sp_detach_schedule (Transact-SQL)

Rimuove un'associazione tra una pianificazione e un processo.

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

Sintassi

sp_detach_schedule 
     { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
       { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
     [ @delete_unused_schedule = ] delete_unused_schedule

Argomenti

  • [ @job_id= ] job_id
    Numero di identificazione del processo da cui eliminare la pianificazione. job_id è di tipo uniqueidentifier e il valore predefinito è NULL.

  • [ @job_name= ] 'job_name'
    Nome del processo da cui eliminare la pianificazione. 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.

  • [ @schedule_id= ] schedule_id
    Numero di identificazione della pianificazione da eliminare per il processo. schedule_id è di tipo int e il valore predefinito è NULL.

  • [ @schedule_name= ] 'schedule_name'
    Nome della pianificazione da eliminare dal processo. 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.

  • [ @delete_unused_schedule= ] delete_unused_schedule
    Specifica se eliminare le pianificazioni dei processi non utilizzate. delete_unused_schedule è di tipo bit e il valore predefinito è 0, a indicare che verranno mantenute tutte le pianificazioni, anche se non vi fa riferimento alcun processo. Se il valore è impostato su 1, le pianificazioni dei processi non utilizzate vengono eliminate se non vi fa riferimento alcun processo.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

Nessuno

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.

In SQL Server vengono eseguite verifiche per determinare se l'utente è proprietario della pianificazione. Solo i membri del ruolo predefinito del server sysadmin possono scollegare le pianificazioni da processi di proprietà di un altro utente.

Esempi

Nell'esempio seguente viene rimossa un'associazione tra una pianificazione 'NightlyJobs' e un processo 'BackupDatabase'.

USE msdb ;
GO

EXEC dbo.sp_detach_schedule
    @job_name = 'BackupDatabase',
    @schedule_name = 'NightlyJobs' ;
GO

Vedere anche

Riferimento

sp_add_schedule (Transact-SQL)

sp_attach_schedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)