サーチ…


前書き

SQL ServerエージェントはSQL Serverを使用してジョブ情報を格納します。ジョブには、1つ以上のジョブステップが含まれます。各ステップにはそれぞれ独自のタスク、つまりデータベースのバックアップが含まれています。 SQL Serverエージェントは、特定のイベントに応答して、または必要に応じて、スケジュールに従ってジョブを実行できます。

スケジュールされたジョブを作成する

ジョブを作成する

  • 最初にジョブを追加するには、 sp_add_jobという名前のストアドプロシージャを使用する必要があります

    USE msdb ;  
    GO  
    EXEC dbo.sp_add_job  
    @job_name = N'Weekly Job' ;  -- the job name
    
  • 次に、 sp_add_jobStepという名前のストアドプロシージャを使用してジョブステップを追加する必要があります

    EXEC sp_add_jobstep  
    @job_name = N'Weekly Job',  -- Job name to add a step
    @step_name = N'Set database to read only',  -- step name
    @subsystem = N'TSQL',  -- Step type
    @command = N'ALTER DATABASE SALES SET READ_ONLY',   -- Command
    @retry_attempts = 5,  --Number of attempts
    @retry_interval = 5 ; -- in minutes
    
  • ジョブをサーバーに割り当てる

    EXEC dbo.sp_add_jobserver  
    @job_name = N'Weekly Sales Data Backup',
    @server_name = 'MyPC\data;   -- Default is LOCAL
    GO
    

SQLを使用してスケジュールを作成する

スケジュールを作成するには、 sp_add_scheduleというシステムストアドプロシージャを使用する必要があります

USE msdb 
GO  

EXEC sp_add_schedule  
    @schedule_name = N'NightlyJobs' ,  -- specify the schedule name
    @freq_type = 4,   -- A value indicating when a job is to be executed (4) means Daily
    @freq_interval = 1,  -- The days that a job is executed and depends on the value of `freq_type`.
    @active_start_time = 010000 ;   -- The time on which execution of a job can begin
GO  

sp_add_scheduleで使用できるパラメータがさらにありますが、上記のリンクで詳しく読むことができます。

JOBにスケジュールを添付する

SQLエージェントジョブにスケジュールを添付するには、 sp_attach_scheduleというストアドプロシージャを使用する必要があります

-- attaches the schedule to the job BackupDatabase  
EXEC sp_attach_schedule  
   @job_name = N'BackupDatabase',  -- The job name to attach with
   @schedule_name = N'NightlyJobs' ;  -- The schedule name
GO  



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow