

# 监控文件传输任务的状态
<a name="Appendix.SQLServer.Options.S3-integration.using.monitortasks"></a>

要跟踪 S3 集成任务的状态，请调用 `rds_fn_task_status` 函数。它获取两个参数。第一个参数应该始终为 `NULL`，因为它不适用于 S3 集成。第二个参数接受任务 ID。

要查看所有任务的列表，请将第一个参数设置为 `NULL`，将第二个参数设置为 `0`，如以下示例所示。

```
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,{{0}});
```

要获取特定任务，请将第一个参数设置为 `NULL`，将第二个参数设置为任务 ID，如以下示例所示。

```
SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,{{42}});
```

`rds_fn_task_status` 函数将返回以下信息。


|  输出参数  |  描述  | 
| --- | --- | 
| `task_id` | 任务的 ID。 | 
| `task_type` | 对于 S3 集成，任务可以具有以下任务类型：+  `DOWNLOAD_FROM_S3` <br />+  `UPLOAD_TO_S3` <br />+  `LIST_FILES_ON_DISK` <br />+  `DELETE_FILES_ON_DISK`  | 
| `database_name` | 不适用于 S3 集成任务。 | 
| `% complete` | 用百分比表示的任务进度。 | 
| `duration(mins)` | 在任务上花费的时间 (以分钟为单位)。 | 
| `lifecycle` | 任务的状态。有以下可能状态：+  `CREATED` – 调用 S3 集成存储过程之一后，将创建一个任务并将状态设置为 `CREATED`。 <br />+  `IN_PROGRESS` – 任务开始后，状态将设置为 `IN_PROGRESS`。要将状态从 `CREATED` 更改为 `IN_PROGRESS` 可能需要最多 5 分钟的时间。 <br />+  `SUCCESS` – 任务完成后，状态将设置为 `SUCCESS`。 <br />+  `ERROR` – 如果任务失败，状态将设置为 `ERROR`。有关错误的更多信息，请参阅 `task_info` 列。 <br />+  `CANCEL_REQUESTED` – 调用 `rds_cancel_task` 后，任务的状态将设置为 `CANCEL_REQUESTED`。 <br />+  `CANCELLED` – 在成功取消任务后，任务的状态将设置为 `CANCELLED`。  | 
| `task_info` | 有关任务的其他信息。如果在处理过程中发生错误，则此列包含有关错误的信息。 | 
| `last_updated` | 上次更新任务状态的日期和时间。 | 
| `created_at` | 任务的创建日期和时间。 | 
| `S3_object_arn` | 从中下载或上传到其中的 S3 对象的 ARN。 | 
| `overwrite_S3_backup_file` | 不适用于 S3 集成任务。 | 
| `KMS_master_key_arn` | 不适用于 S3 集成任务。 | 
| `filepath` | RDS 数据库实例上的文件路径。 | 
| `overwrite_file` | 指示是否覆盖现有文件的选项。 | 
| `task_metadata` | 不适用于 S3 集成任务。 | 