sp_attach_schedule (Transact-SQL)sp_attach_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

ジョブのスケジュールを設定します。Sets a schedule for a job.

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

構文Syntax

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

引数Arguments

[ @job_id = ] job_id スケジュールを追加するジョブのジョブ識別番号。[ @job_id = ] job_id The job identification number of the job to which the schedule is added. job_iduniqueidentifier、既定値は NULL です。job_idis uniqueidentifier, with a default of NULL.

[ @job_name = ] 'job_name' スケジュールを追加するジョブの名前。[ @job_name = ] 'job_name' The name of the job to which the schedule is added. job_namesysname、既定値は NULL です。job_nameis sysname, with a default of NULL.

注意

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

[ @schedule_id = ] schedule_id ジョブに設定するスケジュールのスケジュールの識別番号。[ @schedule_id = ] schedule_id The schedule identification number of the schedule to set for the job. schedule_idint、既定値は NULL です。schedule_idis int, with a default of NULL.

[ @schedule_name = ] 'schedule_name' ジョブに設定するスケジュールの名前。[ @schedule_name = ] 'schedule_name' The name of the schedule to set for the job. schedule_namesysname、既定値は NULL です。schedule_nameis sysname, with a default of NULL.

注意

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

コメントRemarks

スケジュールとジョブは、所有者が同じである必要があります。The schedule and the job must have the same owner.

スケジュールは複数のジョブに対して設定できます。A schedule can be set for more than one job. ジョブは、1 つ以上のスケジュールで実行できます。A job can be run on more than one schedule.

このストアド プロシージャを実行する必要があります、 msdbデータベース。This stored procedure must be run from the msdb database.

アクセス許可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.

SQL ServerSQL Server は、ユーザーがジョブとスケジュールの両方を所有しているかどうかを確認します。checks if the user owns both the job and the schedule.

使用例Examples

次の例は、名前付きのスケジュールを作成NightlyJobsです。The following example creates a schedule named NightlyJobs. このスケジュールを使用するジョブは、毎日、サーバーの時間が 01:00 になると実行されます。Jobs that use this schedule execute every day when the time on the server is 01:00. 例では、ジョブにスケジュールをアタッチするBackupDatabaseとジョブRunReportsします。The example attaches the schedule to the job BackupDatabase and the job RunReports.

注意

この例では、ジョブBackupDatabaseとジョブRunReports既に存在します。This example assumes that the job BackupDatabase and the job RunReports already exist.

USE msdb ;  
GO  
  
EXEC sp_add_schedule  
    @schedule_name = N'NightlyJobs' ,  
    @freq_type = 4,  
    @freq_interval = 1,  
    @active_start_time = 010000 ;  
GO  
  
EXEC sp_attach_schedule  
   @job_name = N'BackupDatabase',  
   @schedule_name = N'NightlyJobs' ;  
GO  
  
EXEC sp_attach_schedule  
   @job_name = N'RunReports',  
   @schedule_name = N'NightlyJobs' ;  
GO  

関連項目See Also

sp_add_schedule (TRANSACT-SQL) sp_add_schedule (Transact-SQL)
sp_detach_schedule (TRANSACT-SQL) sp_detach_schedule (Transact-SQL)
sp_delete_schedule (TRANSACT-SQL)sp_delete_schedule (Transact-SQL)