sp_delete_schedule (TRANSACT-SQL)sp_delete_schedule (Transact-SQL)

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

スケジュールを削除します。Deletes a schedule.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

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

引数Arguments

[ @schedule_id = ] schedule_id 削除するスケジュールの識別番号を指定します。[ @schedule_id = ] schedule_id The schedule identification number of the schedule to delete. schedule_idint、既定値は NULL です。schedule_id is int, with a default of NULL.

注: いずれかschedule_idまたはschedule_name指定する必要がありますが、両方を指定することはできません。NOTE: Either schedule_id or schedule_name must be specified, but both cannot be specified.

[ @schedule_name = ] 'schedule_name' 削除するスケジュールの名前。[ @schedule_name = ] 'schedule_name' The name of the schedule to delete. schedule_namesysname、既定値は NULL です。schedule_name is sysname, with a default of NULL.

注: いずれかschedule_idまたはschedule_name指定する必要がありますが、両方を指定することはできません。NOTE: Either schedule_id or schedule_name must be specified, but both cannot be specified.

[ @force_delete = ] force_delete スケジュールがジョブにアタッチされている場合、手順が失敗するかどうかを指定します。[ @force_delete = ] force_delete Specifies whether the procedure should fail if the schedule is attached to a job. Force_deleteは bit で、既定値は、 0します。Force_delete is bit, with a default of 0. ときにforce_delete0、ストアド プロシージャ、スケジュールがジョブに関連付けられている場合は失敗します。When force_delete is 0, the stored procedure fails if the schedule is attached to a job. ときにforce_delete1スケジュールをジョブにアタッチするかどうかに関係なく、スケジュールを削除します。When force_delete is 1, the schedule is deleted regardless of whether the schedule is attached to a job.

リターン コードの値Return Code Values

0 (成功) または1 (失敗)0 (success) or 1 (failure)

結果セットResult Sets

なしNone

コメントRemarks

既定では、スケジュールがジョブにアタッチされている場合、スケジュールを削除できません。By default, a schedule cannot be deleted if the schedule is attached to a job. ジョブに関連付けられているスケジュールを削除するには、値を指定1force_deleteします。To delete a schedule that is attached to a job, specify a value of 1 for force_delete. スケジュールを削除しても、現在実行されているジョブは停止しません。Deleting a schedule does not stop jobs that are currently running.

アクセス許可Permissions

既定では、このストアド プロシージャを実行できるのは、 sysadmin 固定サーバー ロールのメンバーです。By default, members of the sysadmin fixed server role can execute this stored procedure. 他のユーザーには、 SQL ServerSQL Server msdb データベースの次のいずれかの エージェント固定データベース ロールが許可されている必要があります。Other users must be granted one of the following SQL ServerSQL Server Agent fixed database roles in the msdb database:

  • SQLAgentUserRoleSQLAgentUserRole

  • SQLAgentReaderRoleSQLAgentReaderRole

  • SQLAgentOperatorRoleSQLAgentOperatorRole

ジョブの所有者が、ジョブをスケジュールにアタッチおよびにスケジュール所有者にならなくても、ジョブ、スケジュールをデタッチできますに注意してください。Note that the job owner can attach a job to a schedule and detach a job from a schedule without also having to be the schedule owner. ただし、スケジュールを削除できない場合は、デタッチがのままに、ジョブはありません、呼び出し元が、スケジュール所有者でない限り、します。However, a schedule cannot be deleted if the detach would leave it with no jobs, unless the caller is the schedule owner.

これらのロールの権限の詳細については、「 SQL Server エージェントの固定データベース ロール」を参照してください。For details about the permissions of these roles, see SQL Server Agent Fixed Database Roles.

メンバーのみ、 sysadminロールは、別のユーザーによって所有されているジョブのスケジュールを削除できます。Only members of the sysadmin role can delete a job schedule that is owned by another user.

使用例Examples

A.A. スケジュールを削除するDeleting a schedule

次の例は、スケジュールを削除NightlyJobsします。The following example deletes the schedule NightlyJobs. スケジュールは、任意のジョブにアタッチされて場合の例は、スケジュールは削除されません。If the schedule is attached to any job, the example does not delete the schedule.

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

B.B. ジョブに関連付けられているスケジュールを削除します。Deleting a schedule attached to a job

次の例では、スケジュールがジョブに関連付けられているかどうかに関係なく、スケジュール RunOnce を削除します。The following example deletes the schedule RunOnce, regardless of whether the schedule is attached to a job.

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

関連項目See Also

ジョブの実装 Implement Jobs
sp_add_schedule (Transact-SQL)sp_add_schedule (Transact-SQL)