Déploiement et administration
Introduction
SQL Server 2012 avait bousculé SSIS avec plusieurs changements majeurs, notamment l’arrivée du Catalogue Integration Services et de sa base SSISDB permettant de consolider les journaux d’exécution et les outils d’administration avec l’arrivée de procédures stockées dédiées. Mais aussi le mode projet qui permettait de partager les connexions et les paramètres entre les différents packages. Entre SQL 2012 et SQL 2017, la gestion de SSIS reste la même avec quelques améliorations décrites dans le chapitre Nouveautés SSIS.
Lors de l’administration et le déploiement de SSIS, la majorité des actions sont réalisables graphiquement, en T-SQL, ou via PowerShell.
Le catalogue SSISDB
Le catalogue SSISDB est le référentiel apparu avec SSIS 2012 et l’arrivée du modèle de déploiement de projet pour lequel il constitue l’unique mode de stockage et de gestion des packages, des paramètres et des projets SSIS. Il contient aussi toutes les données liées à l’exploitation de ceux-ci telles que les données relatives à l’exécution des packages, et les différentes versions déployées.
Ce catalogue SSISDB s’appuie sur une base de données SQL Server portant le même nom que lui. Cette base contient tous les objets (tables, vues, procédures stockées et fonctions) nécessaires au stockage et à la réalisation des différentes tâches liées à l’administration et à l’exécution des packages et des projets.
L’installation de SQL Server ne crée pas le catalogue, il s’agit donc de la première étape à effectuer post-installation. La procédure d’installation est indiquée au chapitre Introduction à SSIS.
1. Configuration du catalogue
Le catalogue est créé avec des paramètres par défaut qu’il est bon de connaître et configurer.
Dans l’onglet Général, la seule propriété modifiable...
Les objets du catalogue SSIS
L’écosystème de SSIS fourmille de nombreux objets tels que les dossiers, les projets, les packages, les environnements, les permissions, les références d’environnement. Ces objets sont tous sérialisés dans les tables présentes dans la base SSISDB et modifiables via l’exécution de procédures stockées, ou l’utilisation de PowerShell. La modification directe des valeurs présentes dans les tables est quant à elle à proscrire.
1. Dossier
Il n’est pas possible de déployer un projet SSIS directement à la racine du catalogue SSIS, la création d’un dossier est donc obligatoire. D’autant plus que cela permet de gérer les droits d’accès à un ensemble de projets.
La création d’un dossier est réalisée via un clic droit sur Catalogues Integration Services SSISDB - Créer un dossier.
La création d’un dossier ne requiert que le nom et la description de celui-ci. Par ailleurs, si vous cliquez sur le bouton Script de la fenêtre Créer un dossier, vous pouvez récupérer le script T-SQL correspondant à l’appel de la procédure stockée utilisée pour la création de ce dossier.
Declare @folder_id bigint
EXEC [SSISDB].[catalog].[create_folder]
@folder_name=N'Marketing',
@folder_id=@folder_id OUTPUT
Select @folder_id
EXEC [SSISDB].[catalog].[set_folder_description]
@folder_name=N'Marketing',
@folder_description=N'Dossier à usage des projets marketing'
Le dossier créé, il est possible de gérer les permissions en effectuant un clic droit sur le dossier Propriétés - Autorisations afin de définir les habilitations des futurs développeurs, exploitants, utilisateurs des projets qui seront déployés.
La sécurité est traitée de façon plus détaillée à la fin de ce chapitre.
2. Environnement
La question de la configuration des packages SSIS est un point central. En effet, comment modifier facilement les chaînes de connexion, les paramètres d’exécution en fonction des différents environnements (Dev/Rec/Prod...) afin de rendre plus simple le paramétrage d’un flux...
La sécurité
La sécurité est applicable à différents niveaux dans SQL Server Integration Services. En effet, il est possible d’appliquer des règles d’accès sur la base SSISDB, les dossiers, les projets et les environnements.
1. Sécurité niveau SSISDB
-
SSIS_ADMIN : rôle qui donne tous les droits sur le catalogue SSIS.
-
SSIS_LOGREADER : arrivé avec SQL Server 2017, ce rôle permet d’accéder aux informations de supervision uniquement, les vues accessibles sont les suivantes : [catalog].[projects], [catalog].[packages], [catalog].[operations], [catalog].[extended_operation_info], [catalog].[operation_messages], [catalog].[event_messages], [catalog].[execution_data_statistics], [catalog].[execution_component_phases], [catalog].[execution_data_taps], [catalog].[event_message_context], [catalog].[executions], [catalog].[executables], [catalog].[executable_statistics], [catalog].[validations], [catalog].[execution_parameter_values] et [catalog].[execution_property_override_values]
2. Sécurité niveau dossier
Accessible via un clic droit sur le dossier - Propriétés - Autorisations, afin de définir les habilitations des futurs développeurs, exploitants, utilisateurs des projets qui seront déployés.
Il existe huit autorisations au niveau dossier :
-
Lecture : permet de lire les propriétés...