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. ジョブは、複数のスケジュールで実行できます。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.

[!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] は、ユーザーがジョブとスケジュールの両方を所有しているかどうかを確認します。[!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] 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`. > [!NOTE] > この例では、ジョブ`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)](../../relational-databases/system-stored-procedures/sp-add-schedule-transact-sql.md) [sp_add_schedule (Transact-SQL)](../../relational-databases/system-stored-procedures/sp-add-schedule-transact-sql.md) [sp_detach_schedule (Transact-sql)](../../relational-databases/system-stored-procedures/sp-detach-schedule-transact-sql.md) [sp_detach_schedule (Transact-SQL)](../../relational-databases/system-stored-procedures/sp-detach-schedule-transact-sql.md) [sp_delete_schedule (Transact-sql)sp_delete_schedule (Transact-SQL)](../../relational-databases/system-stored-procedures/sp-delete-schedule-transact-sql.md)