

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS SCT 拡張パックを使用して PostgreSQL で SQL Server エージェントをエミュレートする
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent"></a>

SQL Server エージェントは、SQL Server ジョブを実行する Microsoft Windows サービスです。SQL Server エージェントは、スケジュールに従って、特定のイベントに応答して、またはオンデマンドでジョブを実行します。SQL Server エージェントの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/ssms/agent/sql-server-agent?view=sql-server-ver15)』を参照してください。

PostgreSQL には、SQL Server エージェントに相当するものはありません。SQL Server エージェント機能をエミュレートするために、 は拡張パック AWS SCT を作成します。この拡張パックは、 AWS Lambda と Amazon CloudWatch を使用します。 は、スケジュールの管理とジョブの実行に使用するインターフェイス AWS Lambda を実装します。Amazon CloudWatch はスケジュールルールを管理します。

AWS Lambda と Amazon CloudWatch は、JSON パラメータを使用してやり取りします。この JSON パラメータには次の構造があります。

```
{
    "mode": mode,
    "parameters": {
        list of parameters
    },
    "callback": procedure name
}
```

前の例では、*`mode`* はタスクのタイプであり、`list of parameters` はタスクのタイプによって決まるパラメータのセットです。また、`procedure name` は、タスクが完了した後に実行されるプロシージャの名前でもあります。

AWS SCT は、1 つの Lambda 関数を使用してジョブを制御および実行します。CloudWatch ルールはジョブの実行を開始し、ジョブを開始するために必要な情報を提供します。CloudWatch ルールがトリガーされると、ルールのパラメータを使用して Lambda 関数が開始されます。

プロシージャを呼び出す簡単なジョブを作成するには、次の形式を使用します。

```
{
    "mode": "run_job",
    "parameters": {
        "vendor": "mysql",
        "cmd": "lambda_db.nightly_job"
    }
}
```

複数のステップを含むジョブを作成するには、次の形式を使用します。

```
{
    "mode": "run_job",
    "parameters": {
        "job_name": "Job1",
        "enabled": "true",
        "start_step_id": 1,
        "notify_level_email": [0|1|2|3],
        "notify_email": email,
        "delete_level": [0|1|2|3],
        "job_callback": "ProcCallBackJob(job_name, code, message)",
        "step_callback": "ProcCallBackStep(job_name, step_id, code, message)"
    },
    "steps": [
        {
            "id":1,
            "cmd": "ProcStep1",
            "cmdexec_success_code": 0,
            "on_success_action": [|2|3|4],
            "on_success_step_id": 1,
            "on_fail_action": 0,
            "on_fail_step_id": 0,
            "retry_attempts": number,
            "retry_interval": number
        },
        {
            "id":2,
            "cmd": "ProcStep2",
            "cmdexec_success_code": 0,
            "on_success_action": [1|2|3|4],
            "on_success_step_id": 0,
            "on_fail_action": 0,
            "on_fail_step_id": 0,
            "retry_attempts": number,
            "retry_interval": number
        },
        ...
]
}
```

PostgreSQL で SQL Server エージェントの動作をエミュレートするために、 AWS SCT 拡張パックでは次のテーブルと手順も作成されます。

## PostgreSQL で SQL Server エージェントをエミュレートするテーブル
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent.Tables"></a>

SQL Server エージェントをエミュレートするために、拡張パックは次のテーブルを使用します。

**sysjobs**  
ジョブに関する情報を格納します。

**sysjobsteps**  
ジョブのステップに関する情報を格納します。

**sysschedules**  
ジョブスケジュールに関する情報を格納します。

**sysjobschedules**  
個々のジョブのスケジュール情報を格納します。

**sysjobhistory**  
スケジュールされたジョブの実行に関する情報を格納します。

## PostgreSQL で SQL Server エージェントをエミュレートするプロシージャ
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent.Procedures"></a>

SQL Server エージェントをエミュレートするために、拡張パックでは以下の手順を使用します。

**sp\$1add\$1job**  
新しいジョブを追加します。

**sp\$1add\$1jobstep**  
ジョブにステップを追加します。

**sp\$1add\$1schedule**  
Amazon CloudWatch に新しいスケジュールルールを作成します。このスケジュールは任意の数のジョブで使用できます。

**sp\$1attach\$1schedule**  
選択したジョブのスケジュールを設定します。

**sp\$1add\$1jobschedule**  
Amazon CloudWatch でジョブのスケジュールルールを作成し、このルールのターゲットを設定します。

**sp\$1update\$1job**  
以前に作成したジョブの属性を更新します。

**sp\$1update\$1jobstep**  
ジョブ内のステップの属性を更新します。

**sp\$1update\$1schedule**  
Amazon CloudWatch のスケジュールルールの属性を更新します。

**sp\$1update\$1jobschedule**  
指定ジョブのスケジュールの属性を更新します。

**sp\$1delete\$1job**  
ジョブを削除します。

**sp\$1delete\$1jobstep**  
ジョブからジョブステップを削除します。

**sp\$1delete\$1schedule**  
スケジュールを削除します。

**sp\$1delete\$1jobschedule**  
指定されたジョブのスケジュールルールを Amazon CloudWatch から削除します。

**sp\$1detach\$1schedule**  
スケジュールとジョブの関連付けを削除します。

**get\$1jobs、update\$1job**  
とやり取りする内部手順 AWS Elastic Beanstalk。

**sp\$1verify\$1job\$1date、sp\$1verify\$1job\$1time、sp\$1verify\$1job、sp\$1verify\$1jobstep、sp\$1verify\$1schedule、sp\$1verify\$1job\$1identifier、sp\$1verify\$1schedule\$1identifiers**  
設定を確認する内部プロシージャ。

## PostgreSQL で SQL サーバーエージェントをエミュレートするプロシージャの構文
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent.Syntax"></a>

拡張パック内の `aws_sqlserver_ext.sp_add_job` プロシージャは、`msdb.dbo.sp_add_job` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-add-job-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_name varchar,
par_enabled smallint = 1,
par_description varchar = NULL::character varying,
par_start_step_id integer = 1,
par_category_name varchar = NULL::character varying,
par_category_id integer = NULL::integer,
par_owner_login_name varchar = NULL::character varying,
par_notify_level_eventlog integer = 2,
par_notify_level_email integer = 0,
par_notify_level_netsend integer = 0,
par_notify_level_page integer = 0,
par_notify_email_operator_name varchar = NULL::character varying,
par_notify_netsend_operator_name varchar = NULL::character varying,
par_notify_page_operator_name varchar = NULL::character varying,
par_delete_level integer = 0,
inout par_job_id integer = NULL::integer,
par_originating_server varchar = NULL::character varying,
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_add_jobstep` プロシージャは、`msdb.dbo.sp_add_jobstep` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-add-jobstep-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_id integer = NULL::integer,
par_job_name varchar = NULL::character varying,
par_step_id integer = NULL::integer,
par_step_name varchar = NULL::character varying,
par_subsystem varchar = 'TSQL'::bpchar,
par_command text = NULL::text,
par_additional_parameters text = NULL::text,
par_cmdexec_success_code integer = 0,
par_on_success_action smallint = 1,
par_on_success_step_id integer = 0,
par_on_fail_action smallint = 2,
par_on_fail_step_id integer = 0,
par_server varchar = NULL::character varying,
par_database_name varchar = NULL::character varying,
par_database_user_name varchar = NULL::character varying,
par_retry_attempts integer = 0,
par_retry_interval integer = 0,
par_os_run_priority integer = 0,
par_output_file_name varchar = NULL::character varying,
par_flags integer = 0,
par_proxy_id integer = NULL::integer,
par_proxy_name varchar = NULL::character varying,
inout par_step_uid char = NULL::bpchar,
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_add_schedule` プロシージャは、`msdb.dbo.sp_add_schedule` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-add-schedule-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_schedule_name varchar,
par_enabled smallint = 1,
par_freq_type integer = 0,
par_freq_interval integer = 0,
par_freq_subday_type integer = 0,
par_freq_subday_interval integer = 0,
par_freq_relative_interval integer = 0,
par_freq_recurrence_factor integer = 0,
par_active_start_date integer = NULL::integer,
par_active_end_date integer = 99991231,
par_active_start_time integer = 0,
par_active_end_time integer = 235959,
par_owner_login_name varchar = NULL::character varying,
*inout par_schedule_uid char = NULL::bpchar,*
inout par_schedule_id integer = NULL::integer,
par_originating_server varchar = NULL::character varying,
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_attach_schedule` プロシージャは、`msdb.dbo.sp_attach_schedule` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-attach-schedule-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_id integer = NULL::integer,
par_job_name varchar = NULL::character varying,
par_schedule_id integer = NULL::integer,
par_schedule_name varchar = NULL::character varying,
par_automatic_post smallint = 1,
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_add_jobschedule` プロシージャは、`msdb.dbo.sp_add_jobschedule` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-add-jobschedule-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_id integer = NULL::integer,
par_job_name varchar = NULL::character varying,
par_name varchar = NULL::character varying,
par_enabled smallint = 1,
par_freq_type integer = 1,
par_freq_interval integer = 0,
par_freq_subday_type integer = 0,
par_freq_subday_interval integer = 0,
par_freq_relative_interval integer = 0,
par_freq_recurrence_factor integer = 0,
par_active_start_date integer = NULL::integer,
par_active_end_date integer = 99991231,
par_active_start_time integer = 0,
par_active_end_time integer = 235959,
inout par_schedule_id integer = NULL::integer,
par_automatic_post smallint = 1,
inout par_schedule_uid char = NULL::bpchar,
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_delete_job` プロシージャは、`msdb.dbo.sp_delete_job` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-delete-job-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_id integer = NULL::integer,
par_job_name varchar = NULL::character varying,
par_originating_server varchar = NULL::character varying,
par_delete_history smallint = 1,
par_delete_unused_schedule smallint = 1,
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_delete_jobstep` プロシージャは、`msdb.dbo.sp_delete_jobstep` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-delete-jobsteplog-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_id integer = NULL::integer,
par_job_name varchar = NULL::character varying,
par_step_id integer = NULL::integer,
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_delete_jobschedule` プロシージャは、`msdb.dbo.sp_delete_jobschedule` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-delete-jobschedule-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_id integer = NULL::integer,
par_job_name varchar = NULL::character varying,
par_name varchar = NULL::character varying,
par_keep_schedule integer = 0,
par_automatic_post smallint = 1,
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_delete_schedule` プロシージャは、`msdb.dbo.sp_delete_schedule` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-delete-schedule-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_schedule_id integer = NULL::integer,
par_schedule_name varchar = NULL::character varying,
par_force_delete smallint = 0,
par_automatic_post smallint = 1,
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_detach_schedule` プロシージャは、`msdb.dbo.sp_detach_schedule` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-detach-schedule-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_id integer = NULL::integer,
par_job_name varchar = NULL::character varying,
par_schedule_id integer = NULL::integer,
par_schedule_name varchar = NULL::character varying,
par_delete_unused_schedule smallint = 0,
par_automatic_post smallint = 1,
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_update_job` プロシージャは、`msdb.dbo.sp_update_job` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-update-job-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_id integer = NULL::integer
par_job_name varchar = NULL::character varying
par_new_name varchar = NULL::character varying
par_enabled smallint = NULL::smallint
par_description varchar = NULL::character varying
par_start_step_id integer = NULL::integer
par_category_name varchar = NULL::character varying
par_owner_login_name varchar = NULL::character varying
par_notify_level_eventlog integer = NULL::integer
par_notify_level_email integer = NULL::integer
par_notify_level_netsend integer = NULL::integer
par_notify_level_page integer = NULL::integer
par_notify_email_operator_name varchar = NULL::character varying
par_notify_netsend_operator_name varchar = NULL::character varying
par_notify_page_operator_name varchar = NULL::character varying
par_delete_level integer = NULL::integer
par_automatic_post smallint = 1
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_update_jobschedule` プロシージャは、`msdb.dbo.sp_update_jobschedule` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-update-jobschedule-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_id integer = NULL::integer
par_job_name varchar = NULL::character varying
par_name varchar = NULL::character varying
par_new_name varchar = NULL::character varying
par_enabled smallint = NULL::smallint
par_freq_type integer = NULL::integer
par_freq_interval integer = NULL::integer
par_freq_subday_type integer = NULL::integer
par_freq_subday_interval integer = NULL::integer
par_freq_relative_interval integer = NULL::integer
par_freq_recurrence_factor integer = NULL::integer
par_active_start_date integer = NULL::integer
par_active_end_date integer = NULL::integer
par_active_start_time integer = NULL::integer
                par_active_end_time integer = NULL::integer
par_automatic_post smallint = 1
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_update_jobstep` プロシージャは、`msdb.dbo.sp_update_jobstep` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-update-jobstep-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_job_id integer = NULL::integer
par_job_name varchar = NULL::character varying
par_step_id integer = NULL::integer
par_step_name varchar = NULL::character varying
par_subsystem varchar = NULL::character varying
par_command text = NULL::text
par_additional_parameters text = NULL::text
par_cmdexec_success_code integer = NULL::integer
par_on_success_action smallint = NULL::smallint
par_on_success_step_id integer = NULL::integer
par_on_fail_action smallint = NULL::smallint
par_on_fail_step_id integer = NULL::integer
par_server varchar = NULL::character varying
par_database_name varchar = NULL::character varying
par_database_user_name varchar = NULL::character varying
par_retry_attempts integer = NULL::integer
par_retry_interval integer = NULL::integer
par_os_run_priority integer = NULL::integer
par_output_file_name varchar = NULL::character varying
par_flags integer = NULL::integer
par_proxy_id integer = NULL::integer
par_proxy_name varchar = NULL::character varying
out returncode integer
```

拡張パック内の `aws_sqlserver_ext.sp_update_schedule` プロシージャは、`msdb.dbo.sp_update_schedule` プロシージャをエミュレートします。SQL Server エージェントプロシージャの詳細については、『[Microsoft 技術ドキュメント](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-update-schedule-transact-sql?view=sql-server-ver15)』を参照してください。

```
par_schedule_id integer = NULL::integer
par_name varchar = NULL::character varying
par_new_name varchar = NULL::character varying
par_enabled smallint = NULL::smallint
par_freq_type integer = NULL::integer
par_freq_interval integer = NULL::integer
par_freq_subday_type integer = NULL::integer
par_freq_subday_interval integer = NULL::integer
par_freq_relative_interval integer = NULL::integer
par_freq_recurrence_factor integer = NULL::integer
par_active_start_date integer = NULL::integer
par_active_end_date integer = NULL::integer
par_active_start_time integer = NULL::integer
par_active_end_time integer = NULL::integer
par_owner_login_name varchar = NULL::character varying
par_automatic_post smallint = 1
out returncode integer
```

## PostgreSQL で SQL Server エージェントをエミュレートするプロシージャを使用する場合の例
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent.Examples"></a>

新しいジョブを追加するには、次に示す `aws_sqlserver_ext.sp_add_job` プロシージャに従います。

```
SELECT * FROM aws_sqlserver_ext.sp_add_job (
    par_job_name := 'test_job',
    par_enabled := 1::smallint,
    par_start_step_id := 1::integer,
    par_category_name := '[Uncategorized (Local)]',
    par_owner_login_name := 'sa');
```

新しいジョブステップを追加するには、次に示す `aws_sqlserver_ext.sp_add_jobstep` プロシージャに従います。

```
SELECT * FROM aws_sqlserver_ext.sp_add_jobstep (
    par_job_name := 'test_job',
    par_step_id := 1::smallint,
    par_step_name := 'test_job_step1',
    par_subsystem := 'TSQL',
    par_command := 'EXECUTE [dbo].[PROC_TEST_JOB_STEP1];',
    par_server := NULL,
    par_database_name := 'GOLD_TEST_SS');
```

簡単なスケジュールを追加するには、次に示す `aws_sqlserver_ext.sp_add_schedule` プロシージャに従います。

```
SELECT * FROM aws_sqlserver_ext.sp_add_schedule(
    par_schedule_name := 'RunOnce',
    par_freq_type := 1,
    par_active_start_time := 233000);
```

ジョブのスケジュールを設定するには、次に示す `aws_sqlserver_ext.sp_attach_schedule` プロシージャに従います。

```
SELECT * FROM aws_sqlserver_ext.sp_attach_schedule (
    par_job_name := 'test_job',
    par_schedule_name := 'NightlyJobs');
```

ジョブのスケジュールを作成するには、次に示す `aws_sqlserver_ext.sp_add_jobschedule` プロシージャに従います。

```
SELECT * FROM aws_sqlserver_ext.sp_add_jobschedule (
    par_job_name := 'test_job2',
    par_name := 'test_schedule2',
    par_enabled := 1::smallint,
    par_freq_type := 4,
    par_freq_interval := 1,
    par_freq_subday_type := 4,
    par_freq_subday_interval := 1,
    par_freq_relative_interval := 0,
    par_freq_recurrence_factor := 0,
    par_active_start_date := 20100801,
    par_active_end_date := 99991231,
    par_active_start_time := 0,
    par_active_end_time := 0);
```

## PostgreSQL で SQL サーバーエージェントをエミュレートするためのユースケースの例
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent.UseCases"></a>

ソースデータベースコードが SQL Server エージェントを使用してジョブを実行する場合は、 の SQL Server から PostgreSQL への拡張パックを使用して AWS SCT 、このコードを PostgreSQL に変換できます。拡張機能パックは、 AWS Lambda 関数を使用して SQL Server エージェントの動作をエミュレートします。

新しい AWS Lambda 関数を作成するか、既存の関数を登録できます。

**新しい AWS Lambda 関数を作成するには**

1. ターゲットデータベースツリー AWS SCTで、コンテキスト (右クリック) メニューを開き、**拡張パックの適用**を選択し、**PostgreSQL** を選択します。

   拡張パックウィザードが表示されます。

1. [**SQL Server エージェントエミュレーションサービス**] タブで、次の操作を行います。
   + ** AWS Lambda 関数の作成** を選択します。
   + [**データベースログイン**] には、ターゲットデータベースユーザーの名前を入力します。
   + [**データベースパスワード**] には、前のステップで入力したユーザー名のパスワードを入力します。
   + [**Python ライブラリフォルダ**] には、Python ライブラリフォルダへのパスを入力します。
   + ** AWS Lambda 関数の作成** を選択し、次**へ** を選択します。

**以前にデプロイした AWS Lambda 関数を登録するには**
+ ターゲットデータベースで次のスクリプトを実行します。

  ```
  SELECT
      FROM aws_sqlserver_ext.set_service_setting(
          p_service := 'JOB', 
          p_setting := 'LAMBDA_ARN', 
          p_value := ARN)
  ```

  前述の例では、*`ARN`* はデプロイされた AWS Lambda 関数の Amazon リソースネーム (ARN) です。

次の例では、1 つのステップで構成されるシンプルなタスクを作成します。このタスクでは、5 分ごとに以前に作成された `job_example` 関数が実行されます。この `job_example_table` 関数はレコードをテーブルに挿入します。

**この簡単なタスクを作成するには**

1. 以下の `aws_sqlserver_ext.sp_add_job` 関数を使用してジョブを作成します。

   ```
   SELECT
       FROM aws_sqlserver_ext.sp_add_job (
           par_job_name := 'test_simple_job');
   ```

1. 次に示す `aws_sqlserver_ext.sp_add_jobstep` 関数を使用してジョブステップを作成します。

   ```
   SELECT
       FROM aws_sqlserver_ext.sp_add_jobstep (
           par_job_name := 'test_simple_job', 
           par_step_name := 'test_simple_job_step1', 
           par_command := 'PERFORM job_simple_example;');
   ```

   ジョブステップは関数の実行内容を指定します。

1. 次に示すように、`aws_sqlserver_ext.sp_add_jobschedule` 関数を使用してジョブのスケジューラーを作成します。

   ```
   SELECT
       FROM aws_sqlserver_ext.sp_add_jobschedule (
           par_job_name := 'test_simple_job', 
           par_name := 'test_schedule', 
           par_freq_type := 4, /* Daily */
           par_freq_interval := 1, /* frequency_interval is unused */
           par_freq_subday_type := 4, /* Minutes */
           par_freq_subday_interval := 5 /* 5 minutes */);
   ```

   ジョブステップは関数の実行内容を指定します。

このジョブを削除するには、以下の `aws_sqlserver_ext.sp_delete_job` 関数を使用します。

```
PERFORM aws_sqlserver_ext.sp_delete_job(
    par_job_name := 'PeriodicJob1'::character varying,
    par_delete_history := 1::smallint,
    par_delete_unused_schedule := 1::smallint);
```