sp_detach_schedule (Transact-SQL)

Si applica a:SQL Server

Rimuove un'associazione tra una pianificazione e un processo.

Convenzioni di sintassi Transact-SQL

Sintassi

sp_detach_schedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @delete_unused_schedule = ] delete_unused_schedule ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Argomenti

[ @job_id = ] 'job_id'

Numero di identificazione del processo da cui eliminare la pianificazione. @job_id è uniqueidentifier, con un valore predefinito .NULL

[ @job_name = ] N'job_name'

Nome del processo da cui eliminare la pianificazione. @job_name è sysname, con il valore predefinito NULL.

Nota

È necessario specificare @job_id o @job_name , ma non è possibile specificare entrambi.

[ @schedule_id = ] schedule_id

Numero di identificazione della pianificazione da eliminare per il processo. @schedule_id è int, con il valore predefinito NULL.

[ @schedule_name = ] N'schedule_name'

Nome della pianificazione da eliminare dal processo. @schedule_name è sysname, con un valore predefinito .NULL

Nota

È necessario specificare @schedule_id o @schedule_name , ma non è possibile specificare entrambi.

[ @delete_unused_schedule = ] delete_unused_schedule

Specifica se eliminare le pianificazioni dei processi non utilizzate. @delete_unused_schedule è bit, con un valore predefinito .0

  • Se impostato su 0, tutte le pianificazioni vengono mantenute, anche se non vi fanno riferimento processi.
  • Se impostato su 1, le pianificazioni dei processi inutilizzate vengono eliminate se non vi fanno riferimento processi.

[ @automatic_post = ] automatic_post

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Set di risultati

None

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.

Il proprietario del processo può collegare un processo a una pianificazione e scollegare un processo da una pianificazione senza dover essere anche il proprietario della pianificazione. Tuttavia, una pianificazione non può essere eliminata se lo scollegamento lascia senza processi, a meno che il chiamante non sia il proprietario della pianificazione.

Solo i membri di sysadmin possono utilizzare questa stored procedure per modificare gli attributi dei processi di proprietà di altri utenti.

SQL Server verifica se l'utente è proprietario della pianificazione. Solo i membri del ruolo predefinito del server sysadmin possono scollegare le pianificazioni dai 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