Bases de données
Remarque :
À partir de la version 2511, Citrix Web Studio (basé sur le Web) est la seule console de gestion pour Citrix Virtual Apps and Desktops™. Citrix Studio (basé sur MMC) a été supprimé de l’installateur. Cet article s’applique uniquement à Web Studio. Pour plus d’informations sur Citrix Studio, consultez l’article équivalent dans Citrix Virtual Apps and Desktops 7 2212 ou une version antérieure.
Un site Citrix Virtual Apps ou Citrix Virtual Desktops™ utilise trois bases de données SQL Server :
- Site : (également appelée configuration de site) stocke la configuration de site en cours d’exécution, ainsi que l’état de session actuel et les informations de connexion.
- Journalisation : (également appelée journalisation de la configuration) 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é de 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 connexion lorsque la base de données du site devient indisponible, consultez Cache d’hôte local.
Citrix recommande ce qui suit concernant les bases de données :
-
Sauvegardez régulièrement. Sauvegardez régulièrement les bases de données afin de pouvoir les restaurer à partir de la sauvegarde si le serveur de base de données tombe en panne. La stratégie de sauvegarde pour chaque base de données peut différer. Pour plus d’informations, consultez CTX135207 ; notez, cependant, qu’il fait référence à CitrixXenDesktopDB, qui n’est plus pris en charge ni disponible pour les clients.
-
Sauvegardez et restaurez régulièrement les bases de données SQL Server de site, de surveillance et de journalisation. Pour des informations spécifiques sur les bases de données SQL Server, consultez Création de sauvegardes complètes et différentielles d’une base de données SQL Server.
Si votre site contient plus d’une zone, assurez-vous que la zone principale contient toujours la base de données du site. Les Controllers de chaque zone communiquent avec cette base de données.
Haute disponibilité
Plusieurs solutions de haute disponibilité sont à considérer 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é pour 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 Clustering de basculement Windows Server avec SQL Server.
- 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 Microsoft SQL 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 les 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 pourrait interrompre le service aux utilisateurs.
La fonctionnalité de cache d’hôte local complète les meilleures pratiques de haute disponibilité de SQL Server. Le cache d’hôte local permet 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 Cache d’hôte local.
Si tous les Controllers d’un site échouent, vous pouvez configurer les VDA pour qu’ils fonctionnent en mode haute disponibilité, ce qui permet aux utilisateurs de continuer à accéder à 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 Controller. N’utilisez cette fonctionnalité que dans les rares cas où la communication avec tous les Controllers échoue. Cette fonctionnalité n’est pas une alternative aux autres solutions de haute disponibilité. Pour plus d’informations, consultez CTX 127564.
L’installation d’un Controller 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
Remarque :
À partir de la version 2411, vous pouvez utiliser Azure SQL Managed Instance pour les bases 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 Windows et les autorisations 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 Controller utilise le compte Service réseau dans cette configuration. Le Controller 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 Web 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, nous recommandons d’utiliser uniquement les éditions non Express prises en charge de SQL Server. Installez SQL Server sur des machines autres que le serveur où le premier Controller est installé. 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. (Voir Formats d’adresse de base de données.) Pour éviter les erreurs potentielles 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 configurer les bases de données : automatique et via des scripts. Généralement, vous pouvez utiliser l’option automatique si vous (l’utilisateur de Web Studio et l’administrateur Citrix) disposez des privilèges de base de données requis. (Voir Autorisations requises pour configurer les bases de données.)
Vous pouvez modifier l’emplacement de la base de données de journalisation de la configuration et de surveillance ultérieurement, après avoir créé le site. Voir Modifier les emplacements des bases de données.
Pour configurer un site afin d’utiliser une base de données miroir, effectuez les étapes 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 a été défini dans la chaîne de connexion au miroir.
Si vous ajoutez, déplacez ou supprimez ultérieurement un Delivery Controller dans un environnement de base de données miroir, consultez Delivery Controllers.
Configuration automatique
Si vous disposez des privilèges de base de données requis, configurez la base de données en suivant ces étapes :
-
Sélectionnez Créer et configurer les bases de données à partir de Studio sur la page Bases de données de l’assistant de création de site.
-
Fournissez les noms et adresses des bases de données principales.
-
Configurez les options de connexion SQL Server suivantes pour améliorer la sécurité et la flexibilité de votre configuration de connectivité de base de données :
-
Chiffrement : Spécifiez le niveau de chiffrement pour la connexion.
-
Faire confiance au certificat de serveur : Sélectionnez cette option pour ignorer la validation du certificat de serveur.
-
Nom d’hôte dans le certificat : Entrez le nom d’hôte auquel le certificat du serveur doit correspondre. Ce paramètre garantit une validation plus stricte du certificat.
Pour plus d’informations, consultez cet article Microsoft.
-
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, Web Studio crée automatiquement les bases de données, puis applique les scripts d’initialisation pour les bases de données principales et répliquées.
Configuration scriptée
Si vous ne disposez pas des droits de base de données requis, demandez l’aide d’une personne qui les possède, comme un administrateur de base de données. Voici la séquence :
- Sur la page Bases de données de l’assistant de création de site, sélectionnez Générer des scripts pour la configuration manuelle. Cette action génère les trois types de scripts suivants pour chacune des bases de données principales et répliquées suivantes : bases de données de site, de surveillance et de journalisation.
- Script dont le nom contient « SysAdmin ». Un script qui crée les bases de données et la connexion du Delivery Controller. Ces tâches nécessitent des droits securityadmin.
-
Script dont le nom contient « DbOwner ». Un script qui crée les rôles utilisateur dans la base de données, ajoute les connexions, puis crée les schémas de base de données. Ces tâches nécessitent des droits
db_owner. - Script dont le nom contient « Mixed ». Toutes les tâches dans un seul script, quels que soient les droits requis.
Vous pouvez indiquer où stocker les scripts.
Remarque :
Dans les environnements d’entreprise, la configuration de la base de données inclut des scripts qui peuvent être gérés par différentes équipes avec des rôles (droits) différents :
securityadminoudb_owner. Le cas échéant, vous faites d’abord exécuter les scripts « SysAdmin » par des administrateurs ayant le rôlesecurityadmin, puis les scripts « DbOwner » par des administrateurs ayant les droitsdb_owner. Pour générer ces scripts, vous pouvez également utiliser PowerShell. Pour plus de détails, consultez Scripts de droits de base de données préférés.
- Donnez ces scripts à votre administrateur de base de données. L’assistant de création de site s’arrête automatiquement à ce stade. Vous êtes invité à revenir plus tard pour poursuivre la création du site.
L’administrateur de base de données crée ensuite les bases de données. Chaque base de données doit présenter les caractéristiques suivantes :
- Utiliser un classement qui se termine par
_CI_AS_KS. Nous vous recommandons d’utiliser un classement qui se termine par_100_CI_AS_KS. - Pour des performances optimales, activez l’instantané de lecture validée de SQL Server. Pour plus de détails, consultez CTX 137161.
- Fonctionnalités de haute disponibilité configurées, le cas échéant.
- 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 complet (le modèle simple est le modèle par défaut). Sauvegardez la base de données principale dans un fichier et copiez-la sur le serveur miroir. Ensuite, restaurez le fichier de sauvegarde sur le serveur miroir. Enfin, 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.sqlsur les instances de base de données SQL Server à haute disponibilité (si la haute disponibilité est configurée) - Exécuter chacun des scripts
xxx\_Principal.sqlsur 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.
Web Studio vous invite à poursuivre la création du site. Vous êtes redirigé vers la page Bases de données, suivez les étapes suivantes :
-
Saisissez les adresses.
-
Configurez les options de connexion SQL Server suivantes pour améliorer la sécurité et la flexibilité de votre configuration de connectivité de base de données :
-
Chiffrement : Spécifiez le niveau de chiffrement pour la connexion.
-
Faire confiance au certificat de serveur : Sélectionnez cette option pour ignorer la validation du certificat de serveur.
-
Nom d’hôte dans le certificat : Saisissez le nom d’hôte auquel le certificat du serveur doit correspondre. Ce paramètre garantit une validation plus stricte du certificat.
Pour plus d’informations, consultez cet article Microsoft.
-
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 Web Studio n’incluent pas ces autorisations, vous êtes invité à fournir les informations d’identification d’utilisateur SQL Server.
| Opération | Objectif | Rôle de serveur | Rôle de 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 Controller au site | securityadmin* | db_owner |
| Ajouter un Controller | Ajouter un Controller (autre que le premier) au site | securityadmin* | db_owner |
| Ajouter un Controller (serveur miroir) | Ajouter une connexion de Controller au serveur de base de données actuellement dans le rôle miroir d’une base de données mise en miroir | securityadmin* | |
| Supprimer un Controller | Supprimer un Controller du site | ** | db_owner |
| Mettre à jour un schéma | Appliquer des mises à jour de schéma ou des correctifs | | db_owner |
* Bien que techniquement plus restrictif, en pratique, vous pouvez considérer le rôle de serveur securityadmin comme équivalent au rôle de serveur sysadmin.
** Lorsqu’un contrôleur est supprimé d’un site, 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 autres que ce produit Citrix sur la même machine. La connexion doit être supprimée manuellement si elle n’est plus nécessaire. Cette action nécessite l’appartenance au rôle de serveur securityadmin.
Lors de l’utilisation de Web Studio pour effectuer ces opérations, l’utilisateur de Web Studio doit soit disposer d’un compte de serveur de base de données qui est explicitement membre des rôles de serveur appropriés, soit être en mesure de fournir les informations d’identification d’un compte qui l’est.
Scripts de droits de base de données préférés
Dans les environnements d’entreprise, la configuration de la base de données inclut des scripts qui doivent être gérés par différentes équipes avec des rôles (droits) différents : securityadmin ou db_owner.
À l’aide de PowerShell, vous pouvez spécifier les droits de base de données préférés. La spécification d’une valeur non par défaut entraîne la création de scripts distincts. Un script contient les tâches qui nécessitent le rôle securityadmin. L’autre script ne nécessite que les droits db_owner et peut être exécuté par un administrateur Citrix, sans avoir à contacter un administrateur de base de données.
Dans les cmdlets get-*DBSchema, l’option -DatabaseRights a les valeurs valides suivantes :
-
SA: Génère un script qui crée les bases de données et la connexion du Delivery Controller. Ces tâches nécessitent les droitssecurityadmin. -
DBO: Génère un script qui crée les rôles d’utilisateur dans la base de données, ajoute les connexions, puis crée les schémas de base de données. Ces tâches nécessitent les droitsdb_owner. -
Mixed: (Par défaut) Toutes les tâches dans un seul script, quels que soient les droits requis.
Pour plus d’informations, consultez l’aide de la cmdlet.
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 la configuration et de surveillance. Cependant, 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, gardez les points suivants à l’esprit :
- 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.
- Le changement d’emplacement des bases de données entre SQL Server et Azure SQL n’est pas pris en charge.
Pour modifier l’emplacement d’une base de données :
- Si vous utilisez Microsoft SQL Server, assurez-vous qu’une version prise en charge 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.
- Connectez-vous à Web Studio, puis sélectionnez Paramètres dans le volet gauche.
- Localisez la vignette Base de données et sélectionnez Modifier.
- Sur la page Gérer la base de données, 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 la barre d’actions.
- Spécifiez le nouvel emplacement et le nom de la base de données. Si la base de données est hébergée sur Azure SQL, saisissez les informations d’identification d’un principal de service ayant l’autorisation de gérer la base de données.
- Si vous souhaitez que Web Studio crée la base de données et que vous disposez des autorisations appropriées, cliquez sur Terminé. Lorsque vous y êtes invité, cliquez sur Terminé, puis Web Studio crée automatiquement la base de données. Web Studio tente d’accéder à la base de données à 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. Web Studio télécharge ensuite le schéma de la base de données dans la base de données. 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 Web Studio crée la base de données, ou si vous ne disposez pas des autorisations suffisantes, cliquez sur Générer un script de base de données. 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 de l’autorisation d’accéder et de modifier la base de données.
Plus d’informations
- Outil de dimensionnement de base de données.
- 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
- 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
- Plus d’informations