Prise en charge de SQL Server Integration Services dans Amazon RDS for SQL Server - Amazon Relational Database Service

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

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, version 15.00.4043.16.v1 et ultérieure

  • SQL Server 2017, version 14.00.3223.3.v1 et ultérieure

  • SQL Server 2016, version 13.00.5426.0.v1 et ultérieure

Limitations et recommandations

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.

    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.

  • 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.

    • 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.

  • 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.

Activation de SSIS

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.

  2. Ajoutez l'option SSIS au groupe d'options.

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

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

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

  6. 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

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 AWS Management Console ou l'AWS CLI.

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 AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

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

  3. Choisissez Create group.

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

    1. Pour Nom, attribuez au groupe d'options un nom unique au sein de votre compte AWS, par exemple ssis-se-2016. Le nom ne peut contenir que des lettres, des chiffres et des tirets.

    2. 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.

    3. Pour Moteur, choisissez sqlserver-se.

    4. Pour Version majeure du moteur, choisissez 13.00.

  5. Sélectionnez Créer.

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 :

    Pour LinuxmacOS, 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"

    Dans 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

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

Pour ajouter l'option SSIS
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

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

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

  4. Sélectionnez Ajouter une option.

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

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

  7. Sélectionnez Ajouter une option.

Pour ajouter l'option SSIS
  • Ajoutez l'option SSIS au groupe d'options.

    Pour LinuxmacOS, ou Unix :

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

    Dans 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

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.

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 AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

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

  3. Choisissez Créer un groupe de paramètres.

  4. 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.

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

    3. Pour Description, saisissez clr enabled parameter group.

  5. Sélectionnez Créer.

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 :

    Pour LinuxmacOS, 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"

    Dans 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

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.

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 AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

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

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

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

  5. Choisissez clr activé.

  6. Choisissez Modifier les paramètres.

  7. Dans Valeurs, choisissez 1.

  8. Sélectionnez Save Changes.

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 :

    Pour LinuxmacOS, ou Unix :

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

    Dans 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

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

Note

Si vous utilisez une instance existante, un domaine Active Directory et un rôle AWS Identity and Access Management (IAM) doivent déjà lui être associés. 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.

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 :

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.

    Pour LinuxmacOS, 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

    Dans 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 :

    Pour LinuxmacOS, 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

    Dans 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

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 à Amazon S3.

Autorisations administratives sur SSISDB

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_admin et ssis_logreader accordés à l'utilisateur principal. L'utilisateur principal dispose des privilèges suivants dans SSISDB :

  • modifier le rôle ssis_admin

  • modifier le rôle ssis_logreader

  • 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_admin et ssis_logreader. 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

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) et Créer un proxy d'agent SQL Server 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.

-- 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

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.

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];
  2. 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

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 :

  • CREATED – Après avoir appelé la procédure stockée msdb.dbo.rds_msbi_task, une tâche est créée et son état est défini sur CREATED.

  • IN_PROGRESS – Après le démarrage d'une tâche, le statut est défini sur IN_PROGRESS. Le passage du statut CREATED à IN_PROGRESS peut prendre jusqu'à cinq minutes.

  • SUCCESS – Lorsqu’une tâche est terminée, le statut est défini sur SUCCESS.

  • ERROR – Si une tâche échoue, le statut est défini sur ERROR. Lisez la colonne task_info pour plus d'informations sur l'erreur.

  • CANCEL_REQUESTED – Après que vous avez appelé rds_cancel_task, le statut de la tâche est défini sur CANCEL_REQUESTED.

  • CANCELLED – Une fois une tâche annulée avec succès, l'état de la tâche est défini sur CANCELLED.

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

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.

Définition des gestionnaires de connexion à la base de données pour les projets SSIS

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

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
  2. 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
  3. 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
  2. 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

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

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
  2. 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
  3. Supprimez le proxy.

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

Désactivation de SSIS

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.

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/.

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

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

  4. Choisissez Supprimer une option.

  5. Sous Options de suppression, choisissez SSIS pour Options à supprimer.

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

  7. Sélectionnez Delete.

La procédure suivante supprime l'option SSIS.

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

    Pour LinuxmacOS, ou Unix :

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

    Dans 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

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.