Configuration du service Integration Services dans un environnement cluster
Nouveau : 15 septembre 2007
Le service Integration Services n'est ni un service cluster ni un service prenant en charge les clusters, et ne prend pas en charge le basculement d'un nœud de cluster vers un autre. Par conséquent, dans un environnement cluster, il est conseillé d'installer et de démarrer le service Integration Services en tant que service autonome sur chaque nœud du cluster.
Important : |
---|
Microsoft ne recommande pas la configuration du service Integration Services en tant que ressource cluster. |
Bien que le service Integration Services ne soit pas un service cluster, vous pouvez le configurer manuellement pour agir en tant que ressource cluster après avoir installé le service Integration Services séparément sur chaque nœud du cluster. Pour les clients qui sont convaincus que les avantages de cette configuration l'emportent sur les inconvénients, cette rubrique contient des instructions pour configurer le service en tant que ressource cluster.
Toutefois, si votre intention est d'établir un environnement matériel cluster à haute disponibilité, vous pouvez y parvenir sans configurer le service Integration Services en tant que ressource cluster. Pour gérer vos packages sur n'importe quel nœud dans le cluster, modifiez le fichier de configuration pour le service Integration Services sur chaque nœud du cluster. Vous devez modifier chacun de ces fichiers de configuration de telle sorte qu'ils pointent vers toutes les instances disponibles de SQL Server sur lesquelles les packages sont stockés. Cette solution fournit la haute disponibilité dont la plupart des clients ont besoin sans les problèmes pouvant résulter de la configuration du service Integration Services en tant que ressource cluster. Pour plus d'informations sur la modification du fichier de configuration, consultez Configuration du service Integration Services.
Présentation du rôle du service Integration Services
Il est essentiel que vous compreniez le rôle du service Integration Services pour que vous puissiez prendre des décisions éclairées sur la configuration du service dans un environnement cluster.
Le service Integration Services prend en charge l'interface d'administration dans SQL Server Management Studio pour l'affichage de la liste, le démarrage, l'arrêt, l'analyse, l'importation et l'exportation de packages Integration Services. Le service Integration Services n'est pas requis pour concevoir des packages. Il n'est pas non plus requis pour exécuter des packages ou pour planifier des travaux de l'Agent SQL Server qui exécutent des packages.
Voici quelques-unes des tâches que vous pouvez effectuer même lorsque le service Integration Services n'est pas en cours d'exécution :
- concevoir et exécuter des packages dans Business Intelligence Development Studio ;
- exécuter des packages à l'aide de l'utilitaire d'invite de commandes dtexec (dtexec.exe), de l'Utilitaire d'exécution de package (dtexecui.exe), de l'Agent SQL Server ou bien de l'Assistant Importation et Exportation SQL Server ;
- afficher la liste des packages stockés dans la base de données msdb à l'aide d'une requête Transact-SQL et la liste des packages stockés dans le système de fichiers à l'aide de l'Explorateur Windows ;
- créer et exécuter des travaux de l'Agent SQL Server et des plans de maintenance.
Présentation des inconvénients de la configuration du service Integration Services en tant que ressource cluster
La configuration du service Integration Services en tant que ressource cluster présente les inconvénients potentiels suivants :
- En cas de basculement, les packages en cours d'exécution ne redémarrent pas. Vous pouvez effectuer une récupération suite à des défaillances de packages en redémarrant les packages à partir de points de contrôle, et ce sans configurer le service en tant que ressource cluster. Pour plus d'informations, consultez Utilisation des points d'arrêt dans les packages.
- Lorsque vous configurez le service Integration Services dans un groupe de ressources différent de SQL Server, vous ne pouvez pas utiliser Management Studio à partir d'ordinateurs clients pour gérer les packages qui sont stockés dans la base de données msdb. Le service Integration Services ne peut pas déléguer d'informations d'identification dans ce scénario à double tronçon.
- Si plusieurs groupes de ressources SQL Server incluent le service Integration Services dans un cluster, un basculement pourrait générer des résultats inattendus. Prenons le scénario suivant. Le Groupe 1, qui comprend le service SQL Server et le service Integration Services s'exécute sur le Nœud A. Le Groupe 2, qui comprend également le service SQL Server et le service Integration Services, s'exécute sur le Nœud B. Le Groupe 2 bascule sur le Nœud A. La tentative de démarrage d'une autre instance du service Integration Services sur le Nœud A échoue car le service Integration Services est un service à instance unique. C'est la configuration du service Integration Services dans le Groupe 2 qui détermine si le service SQL Server qui tente de basculer sur le Nœud A échoue à son tour. Si le service Integration Services a été configuré pour affecter les autres services dans le groupe de ressources, le service SQL Server qui bascule échouera en raison de l'échec du service Integration Services. Si le service a été configuré pour ne pas affecter les autres services dans le groupe de ressources, le service SQL Server sera en mesure de basculer sur le Nœud A.
Configuration du service Integration Services en tant que ressource cluster
Pour les clients qui sont convaincus que les avantages de la configuration du service Integration Services en tant que ressource cluster l'emportent sur les inconvénients, cette section contient les instructions de configuration nécessaires. Toutefois, Microsoft déconseille la configuration du service Integration Services en tant que ressource cluster.
Pour configurer le service Integration Services en tant que ressource cluster, vous devez procéder comme suit :
- Installez le service Integration Services sur un cluster.
- Configurez le service Integration Services en tant que ressource cluster.
- Configurez le service Integration Services et le magasin de packages.
- Mettez le service Integration Services en ligne en tant que ressource cluster.
Installation du service Integration Services sur un cluster
Pour installer le service Integration Services sur un cluster, vous devez installer le service sur chaque nœud dans le cluster.
Pour installer le service Integration Services sur un cluster
Installez et configurez un cluster avec un ou plusieurs nœuds.
(Facultatif) Installez des services cluster tels que le Moteur de base de données SQL Server.
Installez le service Integration Services sur chaque nœud du cluster.
Configuration du service Integration Services en tant que ressource cluster
Une fois le service Integration Services installé sur chaque nœud du cluster, vous devez configurer le service Integration Services en tant que ressource cluster. Lorsque vous configurez le service Integration Services en tant que ressource cluster, vous pouvez ajouter le service au même groupe de ressources que le Moteur de base de données SQL Server ou à un groupe différent. Le tableau suivant décrit les avantages et les inconvénients éventuels associés à la sélection d'un groupe de ressources.
Le service Integration Services et SQL Server se trouvent dans le même groupe de ressources | Le service Integration Services et SQL Server se trouvent dans des groupes de ressources différents |
---|---|
Les ordinateurs clients peuvent utiliser SQL Server Management Studio pour gérer les packages stockés dans la base de données msdb car le Moteur de base de données SQL Server et le service Integration Services s'exécutent tous deux sur le même serveur virtuel. Cette configuration évite les problèmes de délégation du scénario à double tronçon. |
Les ordinateurs clients ne peuvent pas utiliser SQL Server Management Studio pour gérer les packages stockés dans la base de données msdb. Le client peut se connecter au serveur virtuel sur lequel le service Integration Services s'exécute. Toutefois, cet ordinateur ne peut pas déléguer les informations d'identification de l'utilisateur au serveur virtuel sur lequel SQL Server s'exécute. On parle dans ce cas d'un scénario à double tronçon. |
Le service Integration Services rivalise avec d'autres services SQL Server pour obtenir les ressources du processeur et les autres ressources de l'ordinateur. |
Le service Integration Services ne rivalise pas avec d'autres services SQL Server pour obtenir les ressources du processeur et d'autres ressources de l'ordinateur car des groupes de ressources différents sont configurés sur des nœuds différents. |
Le chargement et l'enregistrement de packages dans la base de données msdb sont plus rapides et génèrent moins de trafic réseau car les deux services s'exécutent sur le même ordinateur. |
Le chargement et l'enregistrement de packages dans la base de données msdb peuvent s'opérer plus lentement et générer plus de trafic réseau. |
Les deux services sont en ligne ou hors connexion en même temps. |
Le service Integration Services peut être en ligne pendant que le Moteur de base de données SQL Server est hors connexion. Les packages stockés dans la base de données msdb du Moteur de base de données SQL Server ne sont donc pas disponibles. |
Le service Integration Services ne peut pas être déplacé rapidement vers un autre nœud en cas de besoin. |
Le service Integration Services peut être déplacé rapidement vers un autre nœud en cas de besoin. |
Après avoir décidé à quel groupe de ressources vous allez ajouter le service Integration Services, vous devez configurer ce service en tant que ressource cluster dans ce groupe.
Pour configurer le service Integration Services en tant que ressource cluster
Ouvrez Cluster Administrator.
Dans l'arborescence de la console, sélectionnez le dossier Groupes.
Dans le volet de résultats, sélectionnez le groupe auquel vous prévoyez d'ajouter le service Integration Services.
- Pour ajouter le service Integration Services en tant que ressource cluster au même groupe de ressources que SQL Server, sélectionnez le groupe auquel SQL Server appartient.
- Pour ajouter le service Integration Services en tant que ressource cluster à un groupe différent de SQL Server, sélectionnez un groupe autre que le groupe auquel SQL Server appartient.
Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Ressource.
Dans la page Nouvelle ressource de l'Assistant Ressource, tapez un nom et sélectionnez « Service générique » comme Type de service. Ne modifiez pas la valeur de Groupe. Cliquez sur Suivant.
Dans la page Propriétaires possibles, ajoutez ou supprimez les nœuds du cluster en tant que propriétaires possibles de la ressource. Cliquez sur Suivant.
Pour ajouter des dépendances, dans la page Dépendances, sélectionnez une ressource sous Ressources disponibles, puis cliquez sur Ajouter. En cas de basculement, SQL Server et le disque partagé qui stocke les packages Integration Services doivent revenir en ligne avant la mise en ligne du service Integration Services. Après avoir sélectionné les dépendances, cliquez sur Suivant.
Dans la page Paramètres du service générique, entrez MsDtsServer comme nom de service. Cliquez sur Suivant.
Dans la page Réplication du Registre, cliquez sur Ajouter pour ajouter la clé de Registre qui identifie l'emplacement du fichier de configuration pour le service Integration Services. Ce fichier doit se trouver sur un disque partagé dans le même groupe de ressources que le service Integration Services.
Dans la boîte de dialogue Clé de Registre, tapez SOFTWARE\Microsoft\MSDTS\ServiceConfigFile. Cliquez sur OK, puis sur Terminer.
Le service Integration Services est désormais ajouté en tant que ressource de cluster.
Configuration du service Integration Services et du magasin de packages
Après avoir configuré le service Integration Services en tant que ressource cluster, vous devez modifier l'emplacement et le contenu du fichier de configuration pour le service Integration Services sur chaque nœud du cluster. Ces modifications permettent de mettre le fichier de configuration et le magasin de packages à disposition de tous les nœuds dans l'hypothèse d'un basculement. Après avoir modifié l'emplacement et le contenu du fichier de configuration, vous devez mettre le service en ligne.
Pour configurer le service Integration Services et le magasin de packages
Accédez au fichier de configuration à l'emplacement %ProgramFiles%\Microsoft SQL Server\90\DTS\Binn\MsDtsSrvr.ini.xml. Copiez-le sur le disque partagé pour le groupe auquel vous avez ajouté le service Integration Services.
Sur le disque partagé, créez un nouveau dossier nommé Packages qui fera office de magasin de packages. Accordez des autorisations en écriture et d'affichage de liste de dossiers sur le nouveau dossier aux utilisateurs et groupes appropriés.
Sur le disque partagé, ouvrez le fichier de configuration dans un éditeur de texte ou XML. Remplacez la valeur de l'élément ServerName par le nom du serveur SQL Server virtuel qui se trouve dans le même groupe de ressources.
Modifiez la valeur de l'élément StorePath de façon à ce qu'elle corresponde au chemin d'accès complet au dossier Packages que vous avez créé sur le disque partagé au cours de l'une des tâches précédentes.
Mettez à jour la valeur de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTS\ServiceConfigFile dans le Registre avec le chemin d'accès complet et le nom du fichier de configuration de service sur le disque partagé.
Pour mettre le service Integration Services en ligne
- Dans l'Administrateur de clusters, sélectionnez le service Integration Services, cliquez avec le bouton droit et sélectionnez Mettre en ligne dans le menu contextuel. Le service Integration Services est désormais en ligne en tant que ressource cluster.
Connexion au service Integration Services dans un environnement cluster
Après avoir configuré le service Integration Services sur un cluster, ou sur n'importe quel serveur, vous devrez peut-être configurer des autorisations DCOM pour parvenir à vous connecter au service à partir d'un ordinateur client. Pour plus d'informations, consultez Connexion à un serveur Integration Services distant.
Le service Integration Services ne peut pas déléguer d'informations d'identification. Par conséquent, vous ne pouvez pas utiliser Management Studio pour gérer les packages stockés dans la base de données msdb lorsque les conditions suivantes sont remplies :
- Le service Integration Services et SQL Server s'exécutent sur des serveurs séparés ou sur des serveurs virtuels.
- Le client qui exécute SQL Server Management Studio est un troisième ordinateur.
Le client peut se connecter au serveur virtuel sur lequel le service Integration Services s'exécute. Toutefois, cet ordinateur ne peut pas déléguer les informations d'identification de l'utilisateur au serveur virtuel sur lequel SQL Server s'exécute. On parle dans ce cas d'un scénario à double tronçon.