

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo di un pacchetto di AWS SCT estensione per emulare SQL Server Agent in PostgreSQL
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent"></a>

SQL Server Agent è un servizio di Microsoft Windows che esegue i job di SQL Server. SQL Server Agent esegue i processi in base a una pianificazione, in risposta a un evento specifico o su richiesta. Per ulteriori informazioni su SQL Server Agent, vedere la [documentazione tecnica Microsoft](https://docs.microsoft.com/en-us/sql/ssms/agent/sql-server-agent?view=sql-server-ver15).

PostgreSQL non ha un equivalente per SQL Server Agent. Per emulare le funzionalità di SQL Server Agent, AWS SCT crea un pacchetto di estensione. Questo pacchetto di estensione utilizza AWS Lambda Amazon CloudWatch. AWS Lambda implementa l'interfaccia utilizzata per gestire le pianificazioni ed eseguire i lavori. Amazon CloudWatch mantiene le regole di pianificazione.

AWS Lambda e Amazon CloudWatch utilizzano un parametro JSON per interagire. Questo parametro JSON ha la seguente struttura.

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

Nell'esempio precedente, *`mode`* è il tipo di attività ed `list of parameters` è un insieme di parametri che dipendono dal tipo di attività. Inoltre, `procedure name` è il nome della procedura che viene eseguita dopo il completamento dell'attività.

AWS SCT utilizza una funzione Lambda per controllare ed eseguire i job. La CloudWatch regola avvia l'esecuzione del processo e fornisce le informazioni necessarie per avviarlo. Quando la CloudWatch regola viene attivata, avvia la funzione Lambda utilizzando i parametri della regola.

Per creare un processo semplice che richiama una procedura, utilizzate il seguente formato.

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

Per creare un lavoro con diversi passaggi, utilizzate il formato seguente.

```
{
    "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
        },
        ...
]
}
```

Per emulare il comportamento di SQL Server Agent in PostgreSQL, il pacchetto di estensione crea anche AWS SCT le seguenti tabelle e procedure.

## Tabelle che emulano SQL Server Agent in PostgreSQL
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent.Tables"></a>

Per emulare SQL Server Agent, il pacchetto di estensione utilizza le seguenti tabelle:

**sysjobs**  
Memorizza le informazioni sui lavori.

**sysjobsteps**  
Memorizza le informazioni sulle fasi di un lavoro.

**pianificazioni di sistema**  
Memorizza le informazioni sulle pianificazioni dei lavori.

**sysjobschedules**  
Memorizza le informazioni sulla pianificazione per i singoli lavori. 

**sysjobhistory**  
Memorizza le informazioni sulle esecuzioni dei lavori pianificati.

## Procedure che emulano SQL Server Agent in PostgreSQL
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent.Procedures"></a>

Per emulare SQL Server Agent, il pacchetto di estensione utilizza le seguenti procedure:

**sp\$1add\$1job**  
Aggiunge un nuovo lavoro.

**sp\$1add\$1jobstep**  
Aggiunge un passaggio a un lavoro.

**sp\$1add\$1schedule**  
Crea una nuova regola di pianificazione in Amazon CloudWatch. Puoi utilizzare questa pianificazione con un numero qualsiasi di lavori.

**sp\$1attach\$1schedule**  
Imposta una pianificazione per il lavoro selezionato.

**sp\$1add\$1jobschedule**  
Crea una regola di pianificazione per un lavoro in Amazon CloudWatch e imposta l'obiettivo per questa regola.

**sp\$1update\$1job**  
Aggiorna gli attributi del lavoro creato in precedenza.

**sp\$1update\$1jobstep**  
Aggiorna gli attributi della fase di un lavoro.

**sp\$1update\$1schedule**  
Aggiorna gli attributi di una regola di pianificazione in Amazon CloudWatch.

**sp\$1update\$1jobschedule**  
Aggiorna gli attributi della pianificazione per il lavoro specificato.

**sp\$1delete\$1job**  
Elimina un lavoro.

**sp\$1delete\$1jobstep**  
Elimina una fase di lavoro da un lavoro.

**sp\$1delete\$1schedule**  
Elimina una pianificazione.

**sp\$1delete\$1jobschedule**  
Elimina la regola di pianificazione per il lavoro specificato da Amazon CloudWatch.

**sp\$1detach\$1schedule**  
Rimuove un'associazione tra una pianificazione e un lavoro.

**get\$1jobs, update\$1job**  
Procedure interne che interagiscono con. AWS Elastic Beanstalk

**sp\$1verify\$1job\$1date, sp\$1verify\$1job\$1time, sp\$1verify\$1job, sp\$1verify\$1jobstep, sp\$1verify\$1schedule, sp\$1verify\$1job\$1identifiers, sp\$1verify\$1schedule\$1identifiers, sp\$1verify\$1schedule\$1identifiers**  
Procedure interne che controllano le impostazioni.

## Sintassi per le procedure che emulano SQL Server Agent in PostgreSQL
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent.Syntax"></a>

La `aws_sqlserver_ext.sp_add_job` procedura nel pacchetto di estensione emula la procedura. `msdb.dbo.sp_add_job` Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_add_jobstep` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_add_jobstep` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_add_schedule` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_add_schedule` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_attach_schedule` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_attach_schedule` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_add_jobschedule` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_add_jobschedule` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_delete_job` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_delete_job` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_delete_jobstep` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_delete_jobstep` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_delete_jobschedule` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_delete_jobschedule` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_delete_schedule` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_delete_schedule` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_detach_schedule` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_detach_schedule` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_update_job` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_update_job` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_update_jobschedule` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_update_jobschedule` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_update_jobstep` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_update_jobstep` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

La `aws_sqlserver_ext.sp_update_schedule` procedura nel pacchetto di estensione emula la `msdb.dbo.sp_update_schedule` procedura. Per ulteriori informazioni sulla procedura SQL Server Agent di origine, vedere la [documentazione tecnica 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
```

## Esempi di utilizzo di procedure che emulano SQL Server Agent in PostgreSQL
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent.Examples"></a>

Per aggiungere un nuovo lavoro, utilizzare la `aws_sqlserver_ext.sp_add_job` procedura illustrata di seguito.

```
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');
```

Per aggiungere una nuova fase del processo, utilizzare la `aws_sqlserver_ext.sp_add_jobstep` procedura illustrata di seguito.

```
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');
```

Per aggiungere una pianificazione semplice, utilizzare la `aws_sqlserver_ext.sp_add_schedule` procedura illustrata di seguito.

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

Per impostare una pianificazione per un lavoro, utilizzare la `aws_sqlserver_ext.sp_attach_schedule` procedura illustrata di seguito.

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

Per creare una pianificazione per un lavoro, utilizzare la `aws_sqlserver_ext.sp_add_jobschedule` procedura illustrata di seguito.

```
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);
```

## Esempi di casi d'uso per l'emulazione di SQL Server Agent in PostgreSQL
<a name="CHAP_Source.SQLServer.ToPostgreSQL.ExtensionPack.Agent.UseCases"></a>

Se il codice del database sorgente utilizza SQL Server Agent per eseguire i lavori, puoi utilizzare il pacchetto di estensione SQL Server to PostgreSQL AWS SCT per convertire questo codice in PostgreSQL. Il pacchetto di estensione utilizza AWS Lambda funzioni per emulare il comportamento di SQL Server Agent.

È possibile creare una nuova AWS Lambda funzione o registrare una funzione esistente.

**Per creare una nuova AWS Lambda funzione**

1. Nella struttura del database di destinazione AWS SCT, apri il menu contestuale (fai clic con il pulsante destro del mouse), scegli **Applica pacchetto di estensione per**, quindi scegli **PostgreSQL**. 

   Viene visualizzata la procedura guidata del pacchetto di estensione. 

1. Nella scheda del **servizio di emulazione di SQL Server Agent**, procedi come segue: 
   + Scegli **Crea una AWS Lambda funzione.**
   + Per l'**accesso al database**, inserisci il nome dell'utente del database di destinazione.
   + Per **Password del database**, inserisci la password per il nome utente che hai inserito nel passaggio precedente.
   + Per la **cartella della libreria Python**, inserisci il percorso della cartella della libreria Python.
   + **Scegliete **Crea AWS Lambda funzione**, quindi scegliete Avanti.**

**Per registrare una AWS Lambda funzione distribuita in precedenza**
+ Esegui lo script seguente sul database di destinazione.

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

  Nell'esempio precedente, *`ARN`* è l'Amazon Resource Name (ARN) della funzione distribuita AWS Lambda .

L'esempio seguente crea un'attività semplice che consiste in un solo passaggio. Ogni cinque minuti, questa attività esegue la `job_example` funzione creata in precedenza. Questa funzione inserisce i record nella `job_example_table` tabella.

**Per creare questa semplice operazione**

1. Crea un lavoro utilizzando la `aws_sqlserver_ext.sp_add_job` funzione come illustrato di seguito.

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

1. Create una fase di lavoro utilizzando la `aws_sqlserver_ext.sp_add_jobstep` funzione come illustrato di seguito.

   ```
   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;');
   ```

   La fase di lavoro specifica cosa fa la funzione.

1. Crea uno scheduler per il lavoro utilizzando la `aws_sqlserver_ext.sp_add_jobschedule` funzione come illustrato di seguito.

   ```
   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 */);
   ```

   La fase del processo specifica cosa fa la funzione.

Per eliminare questo lavoro, utilizzare la `aws_sqlserver_ext.sp_delete_job` funzione come illustrato di seguito.

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