

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Prise en charge de SQL Server Integration Services dans Amazon RDS for SQL Server
<a name="Appendix.SQLServer.Options.SSIS"></a>

Microsoft SQL Server Integration Services (SSIS) est un composant que vous pouvez utiliser pour effectuer un large éventail de tâches de migration de données. SSIS est une plateforme d'intégration de données et d'applications de flux de travail. Elle dispose d'un outil d'entreposage de données utilisé pour l'extraction, la transformation et le chargement des données (ETL). Vous pouvez également utiliser cet outil pour automatiser la maintenance des bases de données SQL Server et les mises à jour des données cube multidimensionnelles.

Les projets SSIS sont organisés en paquets enregistrés en tant que fichiers .dtsx basés sur XML. Les packages peuvent contenir des flux de contrôle et des flux de données. Vous utilisez des flux de données pour représenter les opérations ETL. Après le déploiement, les packages sont stockés dans SQL Server dans la base de données SSISDB. SSISDB est une base de données de traitement des transactions en ligne (OLTP) en mode de récupération complète.

Amazon RDS for SQL Server prend en charge l'exécution de SSIS directement sur une instance de base de données RDS. Vous pouvez activer SSIS sur une instance de base de données existante ou nouvelle. SSIS est installée sur la même instance de base de données que votre moteur de base de données.

RDS prend en charge SSIS pour SQL Server éditions Standard et Enterprise sur les versions suivantes :
+ SQL Server 2022, toutes les versions
+ SQL Server 2019, versions 15.00.4043.16.v1 et ultérieures
+ SQL Server 2017, versions 14.00.3223.3.v1 et ultérieures
+ SQL Server 2016, versions 13.00.5426.0.v1 et ultérieures

**Contents**
+ [

## Limitations et recommandations
](#SSIS.Limitations)
+ [

## Activation de SSIS
](#SSIS.Enabling)
  + [

### Création du groupe d'options pour SSIS
](#SSIS.OptionGroup)
  + [

### Ajout de l'option SSIS au groupe d'options
](#SSIS.Add)
  + [

### Création du groupe de paramètres pour SSIS
](#SSIS.CreateParamGroup)
  + [

### Modification du paramètre pour SSIS
](#SSIS.ModifyParam)
  + [

### Association du groupe d'options et du groupe de paramètres à votre instance de base de données
](#SSIS.Apply)
  + [

### Activation de l'intégration S3
](#SSIS.EnableS3)
+ [

# Autorisations administratives sur SSISDB
](SSIS.Permissions.md)
  + [

## Configuration d'un utilisateur authentifié par Windows pour SSIS
](SSIS.Permissions.md#SSIS.Use.Auth)
+ [

# Déploiement d'un projet SSIS
](SSIS.Deploy.md)
+ [

# Surveillance de l'état d'une tâche de déploiement
](SSIS.Monitor.md)
+ [

# Utilisation de SSIS
](SSIS.Use.md)
  + [

## Définition des gestionnaires de connexion à la base de données pour les projets SSIS
](SSIS.Use.md#SSIS.Use.ConnMgrs)
  + [

## Création d'un proxy SSIS
](SSIS.Use.md#SSIS.Use.Proxy)
  + [

## Planification d'un package SSIS à l'aide de SQL Server Agent
](SSIS.Use.md#SSIS.Use.Schedule)
  + [

## Révocation de l'accès SSIS à partir du proxy
](SSIS.Use.md#SSIS.Use.Revoke)
+ [

# Désactivation et suppression de la base de données SSIS
](SSIS.DisableDrop.md)
  + [

## Désactivation de SSIS
](SSIS.DisableDrop.md#SSIS.Disable)
  + [

## Suppression de la base de données SSISDB
](SSIS.DisableDrop.md#SSIS.Drop)

## Limitations et recommandations
<a name="SSIS.Limitations"></a>

Les limitations et recommandations suivantes s'appliquent à l'exécution de SSIS sur RDS for SQL Server :
+ L'instance de base de données doit avoir un groupe de paramètres associé avec le paramètre `clr enabled` défini sur 1. Pour plus d’informations, consultez [Modification du paramètre pour SSIS](#SSIS.ModifyParam).
**Note**  
Si vous activez le paramètre `clr enabled` sur SQL Server 2017 ou 2019, vous ne pouvez pas utiliser le Common Language Runtime (CLR) sur votre instance de base de données. Pour plus d’informations, consultez [Fonctions non prises en charge et fonctions avec prise en charge limitée](SQLServer.Concepts.General.FeatureNonSupport.md).
+ Les tâches de flux de contrôle suivantes sont prises en charge :
  + Analysis Services exécute tâche DDL
  + Tâche de traitement Analysis Services
  + Tâche d'insertion en bloc
  + Tâche de vérification de l'intégrité de la base de données
  + Tâche de flux de données
  + Tâche de requête d'exploration de données
  + Tâche de profilage des données
  + Tâche d'exécution de package
  + Exécuter la tâche de travail de SQL Server Agent
  + Exécuter une tâche SQL
  + Exécuter la tâche d'instruction T-SQL
  + Notifier la tâche de l'opérateur
  + Tâche de reconstruction de l'index
  + Tâche de réorganisation de l'index
  + Tâche de réduction de la base de données
  + Tâche de transfert de la base de données
  + Tâche de transfert des tâches
  + Tâche de transfert des connexions
  + Tâche de transfert d'objets SQL Server
  + Tâche de mise à jour des statistiques
+ Seul le déploiement de projet est pris en charge.
+ L'exécution de packages SSIS à l'aide de SQL Server Agent est prise en charge.
+ Les enregistrements de journaux SSIS peuvent être insérés uniquement dans des bases de données créées par les utilisateurs.
+ Utilisez uniquement le dossier `D:\S3` pour travailler avec des fichiers. Les fichiers placés dans un autre répertoire sont supprimés. Soyez conscient de quelques autres détails de l'emplacement des fichiers :
  + Placez les fichiers d'entrée et de sortie du projet SSIS dans le dossier `D:\S3`.
  + Pour la tâche de flux de données, modifiez l'emplacement de `BLOBTempStoragePath` et de `BufferTempStoragePath` vers un fichier à l'intérieur du dossier `D:\S3`. Le chemin d'accès au fichier doit commencer par `D:\S3\`.
  + Assurez-vous que tous les paramètres, variables et expressions utilisés pour les connexions de fichiers pointent vers le dossier `D:\S3`.
  + Sur les instances multi-AZ, les fichiers créés par SSIS dans le dossier `D:\S3` sont supprimés après un basculement. Pour plus d’informations, consultez [Limitations Multi-AZ pour l'intégration S3](User.SQLServer.Options.S3-integration.md#S3-MAZ).
  + Téléchargez les fichiers créés par SSIS dans le dossier `D:\S3` dans votre compartiment Amazon S3 pour les rendre durables.
+ Les transformations de colonne d'importation et d'exportation, et le composant Script sur la tâche de flux de données ne sont pas prises en charge.
+ Vous ne pouvez pas activer le vidage sur l'exécution du package SSIS, et vous ne pouvez pas ajouter des prises de données sur les packages SSIS.
+ La fonctionnalité augmentation de la taille des instances SSIS n'est pas prise en charge.
+ Vous ne pouvez pas déployer de projets directement. Nous fournissons des procédures stockées RDS pour ce faire. Pour plus d’informations, consultez [Déploiement d'un projet SSIS](SSIS.Deploy.md).
+ Créez des fichiers de projet SSIS (.ispac) avec le mode de protection `DoNotSavePasswords` pour le déploiement sur RDS.
+ SSIS n'est pas pris en charge sur les instances Always On avec des réplicas en lecture.
+ Vous ne pouvez pas sauvegarder la base de données SSISDB associée à l'option `SSIS`.
+ L'importation et la restauration de la base de données SSISDB à partir d'autres instances de SSIS ne sont pas prises en charge.
+ Vous pouvez vous connecter à d'autres instances de base de données SQL Server ou à une source de données Oracle. La connexion à d'autres moteurs de bases de données, tels que MySQL ou PostgreSQL, n'est pas prise en charge pour SSIS sur RDS for SQL Server. Pour plus d'informations sur la connexion à une source de données Oracle, consultez [Serveurs liés avec Oracle OLEDB](Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB.md). 
+ SSIS ne prend pas en charge une instance jointe à un domaine avec une approbation sortante vers un domaine sur site. Lorsque vous utilisez une approbation sortante, exécutez la tâche SSIS à partir d'un compte du AWS domaine local.
+ L'exécution de packages basés sur un système de fichiers n'est pas prise en charge.

## Activation de SSIS
<a name="SSIS.Enabling"></a>

Vous activez SSIS en ajoutant l'option SSIS à votre instance de base de données. Utilisez la procédure suivante :

1. Créez un groupe d'options ou choisissez un groupe d'options existant.

1. Ajoutez l'option `SSIS` au groupe d'options.

1. Créez un nouveau groupe de paramètres ou choisissez un groupe de paramètres existant.

1. Modifiez le groupe de paramètres de manière à définir le paramètre `clr enabled` sur 1.

1. Associez le groupe d'options et le groupe de paramètres à l'instance de base de données.

1. Activez l'intégration Amazon S3

**Note**  
Si une base de données portant le nom SSISDB ou une connexion SSIS réservée existe déjà sur l'instance de base de données, vous ne pouvez pas activer SSIS sur cette dernière.

### Création du groupe d'options pour SSIS
<a name="SSIS.OptionGroup"></a>

Pour utiliser SSIS, créez un groupe d'options ou modifier un groupe d'options correspondant à l'édition et à la version SQL Server de l'instance de base de données que vous prévoyez d'utiliser. Pour ce faire, utilisez le AWS Management Console ou le AWS CLI.

#### Console
<a name="SSIS.OptionGroup.Console"></a>

La procédure suivante crée un groupe d'options pour SQL Server Standard Edition 2016.

**Pour créer le groupe d’options**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Groupes d’options**.

1. Choisissez **Create group**.

1. Dans la fenêtre **Créer un groupe d'options**, procédez comme suit :

   1. Dans **Nom**, entrez un nom unique au sein de votre AWS compte pour le groupe d'options, tel que**ssis-se-2016**. Le nom ne peut contenir que des lettres, des chiffres et des tirets.

   1. Pour **Description**, saisissez une brève description du groupe d'options, par exemple **SSIS option group for SQL Server SE 2016**. La description est utilisée à des fins d'affichage. 

   1. Pour **Moteur**, choisissez **sqlserver-se**.

   1. Pour **Version majeure du moteur**, choisissez **13.00**.

1. Choisissez **Créer**.

#### INTERFACE DE LIGNE DE COMMANDE (CLI)
<a name="SSIS.OptionGroup.CLI"></a>

La procédure suivante crée un groupe d'options pour SQL Server Standard Edition 2016.

**Pour créer le groupe d’options**
+ Exécutez une des commandes suivantes :  
**Example**  

  Pour Linux, macOS ou Unix :

  ```
  aws rds create-option-group \
      --option-group-name ssis-se-2016 \
      --engine-name sqlserver-se \
      --major-engine-version 13.00 \
      --option-group-description "SSIS option group for SQL Server SE 2016"
  ```

  Pour Windows :

  ```
  aws rds create-option-group ^
      --option-group-name ssis-se-2016 ^
      --engine-name sqlserver-se ^
      --major-engine-version 13.00 ^
      --option-group-description "SSIS option group for SQL Server SE 2016"
  ```

### Ajout de l'option SSIS au groupe d'options
<a name="SSIS.Add"></a>

Ensuite, utilisez le AWS Management Console ou AWS CLI pour ajouter l'`SSIS`option à votre groupe d'options.

#### Console
<a name="SSIS.Add.Console"></a>

**Pour ajouter l'option SSIS**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Groupes d’options**.

1. Choisissez le groupe d'options que vous venez de créer, **ssis-se-2016** dans cet exemple.

1. Sélectionnez **Ajouter une option**.

1. Sous **Détails de l'option**, choisissez **SSIS** pour **Nom de l'option**.

1. Sous **Scheduling (Planification)**, choisissez si vous souhaitez ajouter l'option immédiatement ou lors du créneau de maintenance suivant.

1. Sélectionnez **Ajouter une option**.

#### INTERFACE DE LIGNE DE COMMANDE (CLI)
<a name="SSIS.Add.CLI"></a>

**Pour ajouter l'option SSIS**
+ Ajoutez l’option `SSIS` au groupe d’options.  
**Example**  

  Pour Linux, macOS ou Unix :

  ```
  aws rds add-option-to-option-group \
      --option-group-name ssis-se-2016 \
      --options OptionName=SSIS \
      --apply-immediately
  ```

  Pour Windows :

  ```
  aws rds add-option-to-option-group ^
      --option-group-name ssis-se-2016 ^
      --options OptionName=SSIS ^
      --apply-immediately
  ```

### Création du groupe de paramètres pour SSIS
<a name="SSIS.CreateParamGroup"></a>

Créez ou modifiez un groupe de paramètres pour le paramètre `clr enabled` qui correspond à l'édition et à la version de SQL Server l'instance de base de données que vous prévoyez d'utiliser pour SSIS.

#### Console
<a name="SSIS.CreateParamGroup.Console"></a>

La procédure suivante crée un groupe de paramètres pour SQL Server Standard Edition 2016.

**Pour créer le groupe de paramètres**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Groupes de paramètres**.

1. Choisissez **Créer un groupe de paramètres**.

1. Dans le volet **Créer un groupe de paramètres**, faites ce qui suit :

   1. Pour **Famille de groupes de paramètres**, choisissez **sqlserver-se-13.0**.

   1. Pour **Nom du groupe**, saisissez un identifiant pour le groupe de paramètres, tel que **ssis-sqlserver-se-13**.

   1. Pour **Description**, saisissez **clr enabled parameter group**.

1. Choisissez **Créer**.

#### INTERFACE DE LIGNE DE COMMANDE (CLI)
<a name="SSIS.CreateParamGroup.CLI"></a>

La procédure suivante crée un groupe de paramètres pour SQL Server Standard Edition 2016.

**Pour créer le groupe de paramètres**
+ Exécutez une des commandes suivantes :  
**Example**  

  Pour Linux, macOS ou Unix :

  ```
  aws rds create-db-parameter-group \
      --db-parameter-group-name ssis-sqlserver-se-13 \
      --db-parameter-group-family "sqlserver-se-13.0" \
      --description "clr enabled parameter group"
  ```

  Pour Windows :

  ```
  aws rds create-db-parameter-group ^
      --db-parameter-group-name ssis-sqlserver-se-13 ^
      --db-parameter-group-family "sqlserver-se-13.0" ^
      --description "clr enabled parameter group"
  ```

### Modification du paramètre pour SSIS
<a name="SSIS.ModifyParam"></a>

Modifiez le paramètre `clr enabled` dans le groupe de paramètres qui correspond à l'édition et à la version de SQL Server utilisées par votre instance de base de données. Pour SSIS, définissez le paramètre `clr enabled` sur 1.

#### Console
<a name="SSIS.ModifyParam.Console"></a>

La procédure suivante modifie le groupe de paramètres que vous avez créé pour SQL Server Standard Edition 2016.

**Pour modifier le groupe de paramètres**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Groupes de paramètres**.

1. Choisissez le groupe de paramètres, par exemple **ssis-sqlserver-se-13**.

1. Sous **Paramètres**, filtrez la liste des paramètres pour **clr**.

1. Choisissez **clr activé**.

1. Choisissez **Modifier les paramètres**.

1. Dans **Valeurs**, choisissez **1**.

1. Sélectionnez **Enregistrer les modifications**.

#### INTERFACE DE LIGNE DE COMMANDE (CLI)
<a name="SSIS.ModifyParam.CLI"></a>

La procédure suivante modifie le groupe de paramètres que vous avez créé pour SQL Server Standard Edition 2016.

**Pour modifier le groupe de paramètres**
+ Exécutez une des commandes suivantes :  
**Example**  

  Pour Linux, macOS ou Unix :

  ```
  aws rds modify-db-parameter-group \
      --db-parameter-group-name ssis-sqlserver-se-13 \
      --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"
  ```

  Pour Windows :

  ```
  aws rds modify-db-parameter-group ^
      --db-parameter-group-name ssis-sqlserver-se-13 ^
      --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"
  ```

### Association du groupe d'options et du groupe de paramètres à votre instance de base de données
<a name="SSIS.Apply"></a>

Pour associer le groupe d'options et le groupe de paramètres SSIS à votre instance de base de données, utilisez le AWS Management Console ou le AWS CLI 

**Note**  
Si vous utilisez une instance existante, elle doit déjà être associée à un domaine Active Directory et à un rôle Gestion des identités et des accès AWS (IAM). Si vous créez une instance, spécifiez un domaine Active Directory et un rôle IAM existants. Pour plus d’informations, consultez [Utilisation d'Active Directory avec RDS for SQL Server](User.SQLServer.ActiveDirectoryWindowsAuth.md).

#### Console
<a name="SSIS.Apply.Console"></a>

Pour terminer l'activation de SSIS, associez votre groupe d'options et votre groupe de paramètres SSIS à une instance de base de données nouvelle ou existante :
+ Pour une nouvelle instance de base de données, associez-les lorsque vous lancez l'instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
+ Pour une instance de base de données existante, associez-les en modifiant l'instance. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

#### INTERFACE DE LIGNE DE COMMANDE (CLI)
<a name="SSIS.Apply.CLI"></a>

Vous pouvez associer le groupe d'options et le groupe de paramètres SSIS à une instance de base de données nouvelle ou existante.

**Pour créer une instance avec le groupe d'options SSIS et le groupe de paramètres**
+ Spécifiez le type de moteur de base de données et la version majeure utilisés lors de la création du groupe d'options.  
**Example**  

  Pour Linux, macOS ou Unix :

  ```
  aws rds create-db-instance \
      --db-instance-identifier myssisinstance \
      --db-instance-class db.m5.2xlarge \
      --engine sqlserver-se \
      --engine-version 13.00.5426.0.v1 \
      --allocated-storage 100 \
      --manage-master-user-password \
      --master-username admin \
      --storage-type gp2 \
      --license-model li \
      --domain-iam-role-name my-directory-iam-role \
      --domain my-domain-id \
      --option-group-name ssis-se-2016 \
      --db-parameter-group-name ssis-sqlserver-se-13
  ```

  Pour Windows :

  ```
  aws rds create-db-instance ^
      --db-instance-identifier myssisinstance ^
      --db-instance-class db.m5.2xlarge ^
      --engine sqlserver-se ^
      --engine-version 13.00.5426.0.v1 ^
      --allocated-storage 100 ^
      --manage-master-user-password ^
      --master-username admin ^
      --storage-type gp2 ^
      --license-model li ^
      --domain-iam-role-name my-directory-iam-role ^
      --domain my-domain-id ^
      --option-group-name ssis-se-2016 ^
      --db-parameter-group-name ssis-sqlserver-se-13
  ```

**Pour modifier une instance et associer le groupe d'options et le groupe de paramètres SSIS**
+ Exécutez une des commandes suivantes :  
**Example**  

  Pour Linux, macOS ou Unix :

  ```
  aws rds modify-db-instance \
      --db-instance-identifier myssisinstance \
      --option-group-name ssis-se-2016 \
      --db-parameter-group-name ssis-sqlserver-se-13 \
      --apply-immediately
  ```

  Pour Windows :

  ```
  aws rds modify-db-instance ^
      --db-instance-identifier myssisinstance ^
      --option-group-name ssis-se-2016 ^
      --db-parameter-group-name ssis-sqlserver-se-13 ^
      --apply-immediately
  ```

### Activation de l'intégration S3
<a name="SSIS.EnableS3"></a>

Pour télécharger les fichiers du projet SSIS (.ispac) sur votre hôte pour le déploiement, utilisez l'intégration de fichiers S3. Pour plus d’informations, consultez [Intégration d'une instance de base de données Amazon RDS for SQL Server DB avec Amazon S3](User.SQLServer.Options.S3-integration.md).

# Autorisations administratives sur SSISDB
<a name="SSIS.Permissions"></a>

Lorsque l'instance est créée ou modifiée avec l'option SSIS, le résultat est une base de données SSISDB avec les rôles ssis\$1admin et ssis\$1logreader accordés à l'utilisateur principal. L'utilisateur principal dispose des privilèges suivants dans SSISDB :
+ modifier le rôle ssis\$1admin
+ modifier le rôle ssis\$1logreader
+ modifier n'importe quel utilisateur

L'utilisateur principal étant un utilisateur authentifié par SQL, vous ne pouvez pas l'utiliser pour exécuter des packages SSIS. L'utilisateur principal peut utiliser ces privilèges pour créer de nouveaux utilisateurs SSISDB et les ajouter aux rôles ssis\$1admin et ssis\$1logreader. Cela peut s'avérer utile pour permettre aux utilisateurs de votre domaine d'utiliser SSIS.

## Configuration d'un utilisateur authentifié par Windows pour SSIS
<a name="SSIS.Use.Auth"></a>

L'utilisateur principal peut utiliser l'exemple de code suivant pour configurer une connexion authentifiée par Windows dans SSISDB et accorder les autorisations de procédure requises. Ainsi, l'utilisateur de domaine peut déployer et exécuter des packages SSIS, utiliser des procédures de transfert de fichiers S3, créer des informations d'identification et travailler avec le proxy d'agent SQL Server. Pour de plus amples informations, consultez [Informations d'identification (Moteur de base de données)](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/credentials-database-engine?view=sql-server-ver15) et [Créer un proxy d'agent SQL Server](https://docs.microsoft.com/en-us/sql/ssms/agent/create-a-sql-server-agent-proxy?view=sql-server-ver15) dans la documentation Microsoft.

**Note**  
Vous pouvez accorder quelques-unes ou la totalité des autorisations suivantes, selon les besoins, aux utilisateurs authentifiés par Windows.

**Example**  

```
-- Create a server-level SQL login for the domain user, if it doesn't already exist
USE [master]
GO
CREATE LOGIN [mydomain\user_name] FROM WINDOWS
GO						
						
-- Create a database-level account for the domain user, if it doesn't already exist						
USE [SSISDB]
GO
CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name]

-- Add SSIS role membership to the domain user
ALTER ROLE [ssis_admin] ADD MEMBER [mydomain\user_name]
ALTER ROLE [ssis_logreader] ADD MEMBER [mydomain\user_name]
GO

-- Add MSDB role membership to the domain user
USE [msdb]
GO
CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name]

-- Grant MSDB stored procedure privileges to the domain user
GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option
GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name]  with grant option
GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] WITH GRANT OPTION


-- Add the SQLAgentUserRole privilege to the domain user
USE [msdb]
GO
ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name]
GO

-- Grant the ALTER ANY CREDENTIAL privilege to the domain user
USE [master]
GO
GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name]
GO
```

# Déploiement d'un projet SSIS
<a name="SSIS.Deploy"></a>

Sur RDS, vous ne pouvez pas déployer de projets SSAS directement avec SQL Server Management Studio (SSMS) ou des procédures SSIS. Pour télécharger des fichiers de projet à partir de Amazon S3, pour les déployer ensuite, utilisez les procédures stockées RDS.

Pour exécuter les procédures stockées, connectez-vous en tant qu'utilisateur auquel vous avez accordé des autorisations d'exécution pour les procédures stockées. Pour plus d'informations, consultez [Configuration d'un utilisateur authentifié par Windows pour SSIS](SSIS.Permissions.md#SSIS.Use.Auth).

**Pour déployer le projet SSIS**

1. Téléchargez le fichier du projet (.ispac).

   ```
   exec msdb.dbo.rds_download_from_s3
   @s3_arn_of_file='arn:aws:s3:::bucket_name/ssisproject.ispac',
   @rds_file_path='D:\S3\ssisproject.ispac',
   @overwrite_file=1;
   ```

1. Soumettez la tâche de déploiement en vérifiant ce qui suit :
   + Le dossier est présent dans le catalogue SSIS.
   + Le nom du projet correspond au nom du projet que vous avez utilisé lors du développement du projet SSIS.

   ```
   exec msdb.dbo.rds_msbi_task
   @task_type='SSIS_DEPLOY_PROJECT',
   @folder_name='DEMO',
   @project_name='ssisproject',
   @file_path='D:\S3\ssisproject.ispac';
   ```

# Surveillance de l'état d'une tâche de déploiement
<a name="SSIS.Monitor"></a>

Pour suivre l'état de votre tâche de déploiement, appelez la fonction `rds_fn_task_status`. Deux paramètres sont nécessaires. Le premier paramètre doit toujours être `NULL`, car il ne s'applique pas à SSIS. Le second paramètre accepte l'ID de tâche. 

Pour consulter une liste de toutes les tâches, définissez le premier paramètre sur `NULL` et le second sur `0`, comme illustré dans l'exemple suivant.

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

Pour obtenir une tâche spécifique, définissez le premier paramètre sur `NULL` et le second sur l'ID de tâche, comme illustré dans l'exemple suivant.

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

La fonction `rds_fn_task_status` retourne les informations suivantes.


| Paramètre de sortie | Description | 
| --- | --- | 
| `task_id` | ID de la tâche | 
| `task_type` | `SSIS_DEPLOY_PROJECT` | 
| `database_name` | Non applicable aux tâches SSIS. | 
| `% complete` | Progression de la tâche sous forme de pourcentage. | 
| `duration (mins)` | Temps consacré à la tâche, en minutes. | 
| `lifecycle` |  État de la tâche. Les statuts possibles sont les suivants : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/SSIS.Monitor.html)  | 
| `task_info` | Informations supplémentaires sur la tâche. Si une erreur se produit pendant le traitement, cette colonne contient des informations sur l'erreur. | 
| `last_updated` | Date et heure de la dernière mise à jour de l'état de la tâche. | 
| `created_at` | Date et heure de création de la tâche. | 
| `S3_object_arn` |  Non applicable aux tâches SSIS.  | 
| `overwrite_S3_backup_file` | Non applicable aux tâches SSIS. | 
| `KMS_master_key_arn` |  Non applicable aux tâches SSIS.  | 
| `filepath` |  Non applicable aux tâches SSIS.  | 
| `overwrite_file` |  Non applicable aux tâches SSIS.  | 
| `task_metadata` | Métadonnées associées à la tâche SSIS. | 

# Utilisation de SSIS
<a name="SSIS.Use"></a>

Après avoir déployé le projet SSIS dans le catalogue SSIS, vous pouvez exécuter des packages directement à partir de SSMS ou les planifier à l'aide de SQL Server Agent. Vous devez utiliser une connexion authentifiée par Windows pour exécuter les packages SSIS. Pour plus d'informations, consultez [Configuration d'un utilisateur authentifié par Windows pour SSIS](SSIS.Permissions.md#SSIS.Use.Auth).

**Topics**
+ [

## Définition des gestionnaires de connexion à la base de données pour les projets SSIS
](#SSIS.Use.ConnMgrs)
+ [

## Création d'un proxy SSIS
](#SSIS.Use.Proxy)
+ [

## Planification d'un package SSIS à l'aide de SQL Server Agent
](#SSIS.Use.Schedule)
+ [

## Révocation de l'accès SSIS à partir du proxy
](#SSIS.Use.Revoke)

## Définition des gestionnaires de connexion à la base de données pour les projets SSIS
<a name="SSIS.Use.ConnMgrs"></a>

Lorsque vous utilisez un gestionnaire de connexions, vous pouvez employer les types d'authentification suivants :
+ Pour les connexions aux bases de données locales à l'aide d'AWS Managed Active Directory, vous pouvez utiliser l'authentification SQL ou l'authentification Windows. Pour l'authentification Windows, utilisez `DB_instance_name.fully_qualified_domain_name` comme nom de serveur de la chaîne de connexion.

  `myssisinstance.corp-ad.example.com` en est un exemple, où `myssisinstance` est le nom de l'instance de base de données et `corp-ad.example.com` le nom de domaine entièrement qualifié.
+ Pour les connexions distantes, utilisez toujours l'authentification SQL.
+ Pour les connexions aux bases de données locales à l'aide d'Active Directory autogéré, vous pouvez utiliser l'authentification SQL ou l'authentification Windows. Pour l'authentification Windows, utilisez `.` ou `LocalHost` comme nom de serveur de la chaîne de connexion.

## Création d'un proxy SSIS
<a name="SSIS.Use.Proxy"></a>

Pour pouvoir planifier des packages SSIS à l'aide de SQL Server Agent, créez des informations d'identification SSIS et un proxy SSIS. Exécutez ces procédures en tant qu'utilisateur authentifié par Windows.

**Pour créer les informations d'identification SSIS**
+ Créez les informations d'identification pour le proxy. Pour ce faire, vous pouvez utiliser SSMS ou l'instruction SQL suivante.

  ```
  USE [master]
  GO
  CREATE CREDENTIAL [SSIS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret'
  GO
  ```
**Note**  
`IDENTITY` doit être une connexion authentifiée par domaine. Remplacez `mysecret` par le mot de passe de la connexion authentifiée par le domaine.  
Chaque fois que l'hôte principal SSISDB est modifié, modifiez les informations d'identification du proxy SSIS pour permettre au nouvel hôte d'y accéder.

**Pour créer le proxy SSIS**

1. Utilisez l'instruction SQL suivante pour créer le proxy.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSIS_Proxy',@credential_name=N'SSIS_Credential',@description=N''
   GO
   ```

1. Utilisez l'instruction SQL suivante pour accorder l'accès au proxy à d'autres utilisateurs.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSIS_Proxy',@login_name=N'mydomain\user_name'
   GO
   ```

1. Utilisez l'instruction SQL suivante pour donner au sous-système SSIS accès au proxy.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS'
   GO
   ```

**Pour afficher le proxy et les octrois sur le proxy**

1. Utilisez l'instruction SQL suivante pour afficher les bénéficiaires du proxy.

   ```
   USE [msdb]
   GO
   EXEC sp_help_proxy
   GO
   ```

1. Utilisez l'instruction SQL suivante pour afficher les octrois du sous-système.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_enum_proxy_for_subsystem
   GO
   ```

## Planification d'un package SSIS à l'aide de SQL Server Agent
<a name="SSIS.Use.Schedule"></a>

Après avoir créé les informations d'identification et le proxy et accordé l'accès SSIS au proxy, vous pouvez créer un tâche SQL Server Agent pour planifier le package SSIS.

**Pour planifier le package SSIS**
+ Vous pouvez utiliser SSMS ou T-SQL pour créer la tâche SQL Server Agent. L'exemple suivant utilise T-SQL.

  ```
  USE [msdb]
  GO
  DECLARE @jobId BINARY(16)
  EXEC msdb.dbo.sp_add_job @job_name=N'MYSSISJob',
  @enabled=1,
  @notify_level_eventlog=0,
  @notify_level_email=2,
  @notify_level_page=2,
  @delete_level=0,
  @category_name=N'[Uncategorized (Local)]',
  @job_id = @jobId OUTPUT
  GO
  EXEC msdb.dbo.sp_add_jobserver @job_name=N'MYSSISJob',@server_name=N'(local)'
  GO
  EXEC msdb.dbo.sp_add_jobstep @job_name=N'MYSSISJob',@step_name=N'ExecuteSSISPackage',
  @step_id=1,
  @cmdexec_success_code=0,
  @on_success_action=1,
  @on_fail_action=2,
  @retry_attempts=0,
  @retry_interval=0,
  @os_run_priority=0,
  @subsystem=N'SSIS',
  @command=N'/ISSERVER "\"\SSISDB\MySSISFolder\MySSISProject\MySSISPackage.dtsx\"" /SERVER "\"my-rds-ssis-instance.corp-ad.company.com/\"" 
  /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E',
  @database_name=N'master',
  @flags=0,
  @proxy_name=N'SSIS_Proxy'
  GO
  ```

## Révocation de l'accès SSIS à partir du proxy
<a name="SSIS.Use.Revoke"></a>

Vous pouvez révoquer l'accès au sous-système SSIS et supprimer le proxy SSIS à l'aide des procédures stockées suivantes.

**Pour révoquer l'accès et supprimer le proxy**

1. Révoquez l'accès au sous-système.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS'
   GO
   ```

1. Révoquez les octrois sur le proxy.

   ```
   USE [msdb]
   GO
   EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSIS_Proxy',@name=N'mydomain\user_name'
   GO
   ```

1. Supprimez le proxy.

   ```
   USE [msdb]
   GO
   EXEC dbo.sp_delete_proxy @proxy_name = N'SSIS_Proxy'
   GO
   ```

# Désactivation et suppression de la base de données SSIS
<a name="SSIS.DisableDrop"></a>

Suivez les étapes ci-dessous pour désactiver ou supprimer les bases de données SSIS :

**Topics**
+ [

## Désactivation de SSIS
](#SSIS.Disable)
+ [

## Suppression de la base de données SSISDB
](#SSIS.Drop)

## Désactivation de SSIS
<a name="SSIS.Disable"></a>

Pour désactiver SSIS, supprimez l'option `SSIS` de son groupe d'options.

**Important**  
La suppression de l'option ne supprime pas la base de données SSISDB, vous pouvez donc supprimer l'option en toute sécurité sans perdre les projets SSIS.  
Vous pouvez réactiver l'option `SSIS` après la suppression pour réutiliser les projets SSIS précédemment déployés dans le catalogue SSIS.

### Console
<a name="SSIS.Disable.Console"></a>

La procédure suivante supprime l’option `SSIS`.

**Pour supprimer l'option SSIS de son groupe d'options**

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans le panneau de navigation, choisissez **Groupes d'options**.

1. Choisissez le groupe d'options avec l'option `SSIS` (`ssis-se-2016` dans les exemples précédents).

1. Choisissez **Supprimer une option**.

1. Sous **Options de suppression**, choisissez **SSIS** pour **Options à supprimer**.

1. Sous **Appliquer immédiatement**, choisissez **Oui** pour supprimer l'option immédiatement, ou **Non** pour la supprimer lors du prochain créneau de maintenance.

1. Sélectionnez **Delete (Supprimer)**.

### Interface de ligne de commande (CLI)
<a name="SSIS.Disable.CLI"></a>

La procédure suivante supprime l’option `SSIS`.

**Pour supprimer l'option SSIS de son groupe d'options**
+ Exécutez une des commandes suivantes :  
**Example**  

  Pour Linux, macOS ou Unix :

  ```
  aws rds remove-option-from-option-group \
      --option-group-name ssis-se-2016 \
      --options SSIS \
      --apply-immediately
  ```

  Pour Windows :

  ```
  aws rds remove-option-from-option-group ^
      --option-group-name ssis-se-2016 ^
      --options SSIS ^
      --apply-immediately
  ```

## Suppression de la base de données SSISDB
<a name="SSIS.Drop"></a>

Après avoir supprimé l'option SSIS, la base de données SSISDB n'est pas supprimée. Pour supprimer la base de données SSISDB, utilisez la procédure stockée `rds_drop_ssis_database` après avoir supprimé l'option SSIS.

**Pour supprimer la base de données SSIS**
+ Utilisez la procédure stockée suivante.

  ```
  USE [msdb]
  GO
  EXEC dbo.rds_drop_ssis_database
  GO
  ```

Après avoir supprimé la base de données SSISDB, si vous réactivez l'option SSIS, vous obtenez un nouveau catalogue SSISDB.