Condividi tramite


sp_detach_schedule (Transact-SQL)

Rimuove un'associazione tra una pianificazione e un processo.

Icona di collegamento a un argomentoConvenzioni 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

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

SQL Server esegue 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