Bases de données
Un site XenApp ou XenDesktop® utilise trois bases de données SQL Server :
- Site : (également appelée Configuration du site) stocke la configuration du site en cours d’exécution, ainsi que l’état de session actuel et les informations de connexion.
- Journalisation de la configuration : (également appelée Journalisation) stocke les informations sur les modifications de configuration du site et les activités administratives. Cette base de données est utilisée lorsque la fonctionnalité Journalisation de la configuration est activée (par défaut = activée).
- Surveillance : stocke les données utilisées par Director, telles que les informations de session et de connexion.
Chaque Delivery Controller communique avec la base de données du site. L’authentification Windows est requise entre le Controller et les bases de données. Un Controller peut être débranché ou éteint sans affecter les autres Controllers du site. Cela signifie, cependant, que la base de données du site constitue un point de défaillance unique. Si le serveur de base de données tombe en panne, les connexions existantes continuent de fonctionner jusqu’à ce qu’un utilisateur se déconnecte ou se déconnecte. Pour plus d’informations sur le comportement de la connexion lorsque la base de données du site devient indisponible, consultez Cache d’hôte local.
Lorsque vous ajoutez un Delivery Controller™ à un site, assurez-vous d’ajouter les informations d’identification de connexion pour cette machine à tous les serveurs SQL de réplication que vous utilisez pour la haute disponibilité.
Citrix recommande de sauvegarder régulièrement les bases de données afin de pouvoir les restaurer à partir de la sauvegarde en cas de défaillance du serveur de base de données. La stratégie de sauvegarde pour chaque base de données peut différer. Pour obtenir des instructions, consultez CTX135207.
Si votre site contient plus d’une zone, conservez la base de données du site dans la zone principale. Les Controllers de chaque zone communiquent avec cette base de données.
Haute disponibilité
Plusieurs solutions de haute disponibilité peuvent être envisagées pour assurer un basculement automatique :
- Groupes de disponibilité AlwaysOn (y compris les groupes de disponibilité de base) : Cette solution de haute disponibilité et de reprise après sinistre de niveau entreprise, introduite dans SQL Server 2012, vous permet de maximiser la disponibilité d’une ou plusieurs bases de données. Les groupes de disponibilité AlwaysOn exigent que les instances SQL Server résident sur des nœuds de cluster de basculement Windows Server (WSFC). Pour plus d’informations, consultez https://docs.microsoft.com/fr-fr/sql/database-engine/availability-groups/windows/always-on-availability-groups-sql-server?redirectedfrom=MSDN&view=sql-server-ver15.
- Miroir de base de données SQL Server : La mise en miroir de la base de données garantit que, si vous perdez le serveur de base de données actif, un processus de basculement automatique se produit en quelques secondes, de sorte que les utilisateurs ne sont généralement pas affectés. Cette méthode est plus coûteuse que d’autres solutions car des licences SQL Server complètes sont requises sur chaque serveur de base de données ; vous ne pouvez pas utiliser l’édition SQL Server Express dans un environnement en miroir.
- Clustering SQL : La technologie de clustering SQL de Microsoft peut être utilisée pour permettre automatiquement à un serveur de prendre en charge les tâches et les responsabilités d’un autre serveur qui a échoué. Cependant, la configuration de cette solution est plus compliquée, et le processus de basculement automatique est généralement plus lent que des alternatives telles que la mise en miroir SQL.
- Utilisation des fonctionnalités de haute disponibilité de l’hyperviseur : Avec cette méthode, vous déployez la base de données en tant que machine virtuelle et utilisez les fonctionnalités de haute disponibilité de votre hyperviseur. Cette solution est moins coûteuse que la mise en miroir car elle utilise votre logiciel d’hyperviseur existant et vous pouvez également utiliser l’édition SQL Server Express. Cependant, le processus de basculement automatique est plus lent, car le démarrage d’une nouvelle machine pour la base de données peut prendre du temps, ce qui peut interrompre le service aux utilisateurs.
La fonctionnalité de cache d’hôte local complète les meilleures pratiques de haute disponibilité de SQL Server en permettant aux utilisateurs de se connecter et de se reconnecter aux applications et aux bureaux même lorsque la base de données du site n’est pas disponible. Pour plus d’informations, consultez (/fr-fr/xenapp-and-xendesktop/7-15-ltsr/manage-deployment/local-host-cache.html)Cache d’hôte local.
Si tous les contrôleurs d’un site échouent, vous pouvez configurer les VDA pour qu’ils fonctionnent en mode haute disponibilité afin que les utilisateurs puissent continuer à accéder et à utiliser leurs bureaux et applications. En mode haute disponibilité, le VDA accepte les connexions ICA directes des utilisateurs, plutôt que les connexions gérées par le contrôleur. N’utilisez cette fonctionnalité que dans les rares cas où la communication avec tous les contrôleurs échoue. Ce n’est pas une alternative aux autres solutions de haute disponibilité. Pour plus d’informations, consultez CTX 127564.
Remarque
L’installation d’un contrôleur sur un nœud dans une installation de clustering SQL ou de mise en miroir SQL n’est pas prise en charge.
Installer le logiciel de base de données
Par défaut, l’édition SQL Server Express est installée lorsque vous installez le premier Delivery Controller si aucune autre instance SQL Server n’est détectée sur ce serveur. Cette action par défaut est généralement suffisante pour les preuves de concept ou les déploiements pilotes. Cependant, SQL Server Express ne prend pas en charge les fonctionnalités de haute disponibilité de Microsoft.
L’installation par défaut utilise les comptes de service et les autorisations Windows par défaut. Consultez la documentation Microsoft pour plus de détails sur ces valeurs par défaut, y compris l’ajout de comptes de service Windows au rôle sysadmin. Le contrôleur utilise le compte Network Service dans cette configuration. Le contrôleur ne nécessite aucun rôle ou autorisation SQL Server supplémentaire.
Si nécessaire, vous pouvez sélectionner Masquer l’instance pour l’instance de base de données. Lors de la configuration de l’adresse de la base de données dans Studio, entrez le numéro de port statique de l’instance, plutôt que son nom. Consultez la documentation Microsoft pour plus de détails sur la façon de masquer une instance du moteur de base de données SQL Server.
Pour la plupart des déploiements de production, et tout déploiement utilisant les fonctionnalités de haute disponibilité de Microsoft, utilisez des éditions non Express prises en charge de SQL Server installées sur des machines autres que le serveur où le premier contrôleur est installé. L’article sur la configuration système requise répertorie les versions de SQL Server prises en charge. Les bases de données peuvent résider sur une ou plusieurs machines.
Assurez-vous que le logiciel SQL Server est installé avant de créer un site. Vous n’avez pas besoin de créer la base de données, mais si vous le faites, elle doit être vide. La configuration des technologies de haute disponibilité de Microsoft est également recommandée.
Utilisez Windows Update pour maintenir SQL Server à jour.
Configurer les bases de données à partir de l’assistant de création de site
Spécifiez les noms et adresses (emplacement) des bases de données sur la page Bases de données de l’assistant de création de site. Consultez (#database-address-formats)Formats d’adresse de base de données. Pour éviter d’éventuelles erreurs lorsque Director interroge le service Monitor, n’utilisez pas d’espaces dans le nom de la base de données de surveillance.
La page Bases de données offre deux options pour la configuration des bases de données : automatique et à l’aide de scripts. Généralement, vous pouvez utiliser l’option automatique si vous (l’utilisateur Studio et l’administrateur Citrix®) disposez des privilèges de base de données requis ; consultez Autorisations requises pour configurer les bases de données ci-dessous.
Vous pouvez modifier l’emplacement des bases de données de journalisation de la configuration et de surveillance ultérieurement, après avoir créé le site. Consultez (#change-database-locations)Modifier les emplacements des bases de données.
Pour configurer un Site afin qu’il utilise une base de données miroir, effectuez les opérations suivantes, puis passez aux procédures de configuration automatique ou scriptée.
- Installez le logiciel SQL Server sur deux serveurs, A et B.
- Sur le serveur A, créez la base de données destinée à être utilisée comme principale. Sauvegardez la base de données sur le serveur A, puis copiez-la sur le serveur B.
- Sur le serveur B, restaurez le fichier de sauvegarde.
- Démarrez la mise en miroir sur le serveur A.
Pour vérifier la mise en miroir après la création du Site, exécutez la cmdlet PowerShell get-configdbconnection pour vous assurer que le partenaire de basculement (Failover Partner) a été défini dans la chaîne de connexion vers le miroir.
Si vous ajoutez, déplacez ou supprimez ultérieurement un Delivery Controller dans un environnement de base de données en miroir, consultez l’article sur les Delivery Controllers.
Configuration automatique
Si vous disposez des privilèges de base de données requis, sélectionnez l’option « Créer et configurer des bases de données à partir de Studio » sur la page Bases de données de l’assistant de création de Site, puis indiquez les noms et adresses des bases de données principales.
Si une base de données existe à l’adresse que vous spécifiez, elle doit être vide. Si aucune base de données n’existe à l’adresse spécifiée, vous êtes informé qu’une base de données n’a pas pu être trouvée, puis il vous est demandé si vous souhaitez que la base de données soit créée pour vous. Lorsque vous confirmez cette action, Studio crée automatiquement les bases de données, puis applique les scripts d’initialisation pour les bases de données principales et répliques.
Configuration scriptée
Si vous ne disposez pas des privilèges de base de données requis, une personne disposant de ces autorisations doit vous aider, par exemple un administrateur de base de données. Voici la séquence :
- Dans l’assistant de création de Site, sélectionnez l’option Générer des scripts. Cette action génère six scripts : deux pour chacune des trois bases de données (un pour chaque base de données principale et un autre pour chaque réplique). Vous pouvez indiquer où stocker les scripts.
- Donnez ces scripts à votre administrateur de base de données. L’assistant de création de Site s’arrête automatiquement à ce stade ; vous serez invité à continuer la création du Site lorsque vous reviendrez plus tard.
L’administrateur de base de données crée ensuite les bases de données. Chaque base de données doit avoir les caractéristiques suivantes :
- Utilisez un classement qui se termine par « _CI_AS_KS ». Citrix recommande d’utiliser un classement qui se termine par « _100_CI_AS_KS ».
- Pour des performances optimales, activez l’instantané de lecture validée (Read-Committed Snapshot) de SQL Server. Pour plus de détails, consultez CTX 137161.
- Les fonctionnalités de haute disponibilité doivent être configurées, si désiré.
- Pour configurer la mise en miroir, définissez d’abord la base de données pour qu’elle utilise le modèle de récupération complète (le modèle simple est la valeur par défaut). Sauvegardez la base de données principale dans un fichier et copiez-la sur le serveur miroir. Sur la base de données miroir, restaurez le fichier de sauvegarde sur le serveur miroir. Ensuite, démarrez la mise en miroir sur le serveur principal.
L’administrateur de base de données utilise l’utilitaire de ligne de commande SQLCMD ou SQL Server Management Studio en mode SQLCMD pour exécuter chacun des scripts xxx_Replica.sql sur les instances de base de données SQL Server de haute disponibilité (si la haute disponibilité est configurée), puis exécute chacun des scripts xxx_Principal.sql sur les instances de base de données SQL Server principales. Consultez la documentation Microsoft pour plus de détails sur SQLCMD.
Lorsque tous les scripts sont exécutés avec succès, l’administrateur de base de données fournit à l’administrateur Citrix les trois adresses de base de données principales.
Dans Studio, vous êtes invité à poursuivre la création du site et vous êtes redirigé vers la page Bases de données. Saisissez les adresses. Si l’un des serveurs hébergeant une base de données ne peut pas être contacté, un message d’erreur s’affiche.
Autorisations requises pour configurer les bases de données
Vous devez être un administrateur local et un utilisateur de domaine pour créer et initialiser les bases de données (ou modifier l’emplacement de la base de données). Vous devez également disposer de certaines autorisations SQL Server. Les autorisations suivantes peuvent être configurées explicitement ou acquises par l’appartenance à un groupe Active Directory. Si vos informations d’identification d’utilisateur Studio n’incluent pas ces autorisations, vous serez invité à fournir des informations d’identification d’utilisateur SQL Server.
| Opération | Objectif | Rôle du serveur | Rôle de la base de données |
|---|---|---|---|
| Créer une base de données | Créer une base de données vide appropriée | dbcreator | |
| Créer un schéma | Créer tous les schémas spécifiques au service et ajouter le premier contrôleur au site | administrateur de sécurité* | db_owner |
| Ajouter un contrôleur | Ajouter un contrôleur (autre que le premier) au site | administrateur de sécurité* | db_owner |
| Ajouter un contrôleur (serveur miroir) | Ajouter une connexion de contrôleur au serveur de base de données actuellement dans le rôle miroir d’une base de données en miroir | administrateur de sécurité* | |
| Supprimer le contrôleur | Supprimer le contrôleur du site | ** | db_owner |
| Mettre à jour un schéma | Appliquer les mises à jour de schéma ou les correctifs | db_owner |
* Bien que techniquement plus restrictif, en pratique, le rôle de serveur securityadmin doit être traité comme équivalent au rôle de serveur sysadmin.
** Lorsqu’un contrôleur est supprimé d’un site, soit directement via Desktop Studio, soit à l’aide des scripts générés par Desktop Studio ou le SDK, la connexion du contrôleur au serveur de base de données n’est pas supprimée. Ceci afin d’éviter de supprimer potentiellement une connexion utilisée par des services non-XenDesktop sur la même machine. La connexion doit être supprimée manuellement si elle n’est plus nécessaire ; cela nécessite l’appartenance au rôle de serveur securityadmin.
Lorsque vous utilisez Studio pour effectuer ces opérations, le compte utilisateur doit être membre du rôle de serveur sysadmin.
Formats d’adresse de base de données
Vous pouvez spécifier une adresse de base de données sous l’une des formes suivantes :
ServerNameServerName\\InstanceNameServerName,PortNumber
Pour un groupe de disponibilité AlwaysOn, spécifiez l’écouteur du groupe dans le champ d’emplacement.
Modifier les emplacements des bases de données
Après avoir créé un Site, vous pouvez modifier l’emplacement des bases de données de journalisation de configuration et de surveillance. (Vous ne pouvez pas modifier l’emplacement de la base de données du Site.) Lorsque vous modifiez l’emplacement d’une base de données :
- Les données de la base de données précédente ne sont pas importées dans la nouvelle base de données.
- Les journaux ne peuvent pas être agrégés à partir des deux bases de données lors de la récupération des journaux.
- La première entrée de journal dans la nouvelle base de données indique qu’un changement de base de données s’est produit, mais elle n’identifie pas la base de données précédente.
Vous ne pouvez pas modifier l’emplacement de la base de données de journalisation de la configuration lorsque la journalisation obligatoire est activée.
Pour modifier l’emplacement d’une base de données :
- Assurez-vous qu’une version prise en charge de Microsoft SQL Server est installée sur le serveur où vous souhaitez que la base de données réside. Configurez les fonctionnalités de haute disponibilité si nécessaire.
- Sélectionnez Configuration dans le volet de navigation de Studio.
- Sélectionnez la base de données pour laquelle vous souhaitez spécifier un nouvel emplacement, puis sélectionnez Modifier la base de données dans le volet Actions.
- Spécifiez le nouvel emplacement et le nom de la base de données.
- Si vous souhaitez que Studio crée la base de données et que vous disposez des autorisations appropriées, cliquez sur OK. Lorsque vous y êtes invité, cliquez sur OK, puis Studio la crée automatiquement. Studio tente d’accéder à cette base à l’aide de vos informations d’identification. Si cela échoue, vous êtes invité à saisir les informations d’identification de l’utilisateur de la base de données. Studio télécharge ensuite le schéma de la base de données vers celle-ci. Les informations d’identification ne sont conservées que pendant la période de création de la base de données.
- Si vous ne souhaitez pas que Studio crée la base de données, ou si vous ne disposez pas des autorisations suffisantes, cliquez sur Générer le script. Les scripts générés incluent des instructions pour la création manuelle de la base de données et d’une base de données miroir, si nécessaire. Avant de télécharger le schéma, assurez-vous que la base de données est vide et qu’au moins un utilisateur dispose des autorisations pour accéder et modifier la base de données.
Pour plus d’informations
Dimensionnement de la base de données du site et configuration des chaînes de connexion lors de l’utilisation de solutions de haute disponibilité SQL Server.
Dans cet article
- Haute disponibilité
- Installer le logiciel de base de données
- Configurer les bases de données à partir de l’assistant de création de site
- Configuration automatique
- Configuration scriptée
- Autorisations requises pour configurer les bases de données
- Formats d’adresse de base de données
- Modifier les emplacements des bases de données
- Pour plus d’informations