Migration du serveur de base de données PostgreSQL vers MS SQL
ADSelfService Plus est livré avec un serveur de base de données PostgreSQL pour stocker les attributs de base des utilisateurs et les données d'inscription. Il vous permet également de migrer du système intégré PostgreSQL vers MS SQL. Ce guide vous guidera dans le processus de migration du serveur de base de données.
Versions de MS SQL Server prises en charge : 2005, 2008, 2008 R2, 2012, 2014, 2016, 2017 et 2019
Conditions préalables
Dans l'instance du serveur MS SQL Server utilisée pour la migration, assurez-vous que les conditions suivantes sont satisfaites :
- Le service SQL Server Browser doit être opérationnel.
- Pour la configuration réseau de SQL Server, le protocole TCP/IP doit être activé.
- Tous les protocoles clients doivent être activés.
- L'accès au serveur SQL Server est délégué à un utilisateur ayant les autorisations sysadmin et db_owner au niveau du serveur et de la base de données respectivement.
Se référer à l'annexe A pour la configuration des conditions préalables 1, 2 et 3. Se référer à l'annexe B pour la configuration du prérequis 4.
Migrer de PostgreSQL à MS SQL
La migration des données de la base de données PostgreSQL d’ADSelfService Plus à MS SQL requiert les étapes suivantes :
Étape 1 : Sauvegarde de la base de données d’ADSelfService Plus
Si vous installez ADSelfService Plus pour la première fois et que vous n'avez pas de données à sauvegarder, sautez cette étape et passez à l’étape suivante. Toutefois, si vous souhaitez sauvegarder les données, suivez les étapes indiquées ci-dessous :
- Arrêtez ADSelfService Plus :
- Si ADSelfService Plus fonctionne en mode console, cliquez sur l’icône Windows recherchez ADSelfService Plus, et choisissez Arrêter ADSelfService Plus.
- Si ADSelfService Plus est en cours d'exécution en tant que service, cliquez sur l'icône Windows. Recherche de services. Dans la fenêtre qui apparaît, choisissez ManageEngine ADSelfService Plus, et sélectionnez l'option Arrêter le service.
- Allez dans <Répertoire d'installation d'ADSelfService Plus>\bin.
Remarque : Par défaut, ADSelfService Plus est installé dans : C:\Program Files\ManageEngine\ADSelfService Plus.
- Exécutez le fichier backupDB (Windows Batch) en tant qu'administrateur. N’interrompez pas le processus avant qu’il soit terminé.
- Les données dans la base de données par défaut d’ADSelfService Plus sont sauvegardées et stockées sous <Répertoire d'installation d’ADSelfService Plus>\backup\OfflineBackup _<Heure de la sauvegarde>.
Remarque : Si l'erreur ci-dessous s'affiche lors de l'exécution du fichier backupDB, assurez-vous que le produit a été arrêté avant de poursuivre.
Étape 2 : Migration des données PostgreSQL vers MS SQL
Il est important de s'assurer que vous arrêtez la console/service ADSelfService Plus avant ce processus.
- Si le serveur MS SQL Server est installé sur un ordinateur distant, installez les utilitaires de ligne de commande et le client natif MS SQL nécessaires sur l'ordinateur distant, puis passez à l'étape suivante.
Remarque : Les liens fournis ci-dessous vous redirigeront vers la page principale du pack de fonctionnalités Microsoft SQL. En appuyant sur le bouton de téléchargement correspondant, vous obtenez un ensemble d'utilitaires en ligne de commande et de formats clients natifs. Installez le client natif SQL correspondant ou les utilitaires en ligne de commande selon la version de MS SQL Server et le type de processeur de la machine sur laquelle ADSelfService Plus est installé. Les utilitaires de ligne de commande portent le terme SQLCMD, et le fichier client natif se trouve sous le nom de sqlncli.
- Copiez les fichiers suivants dans le dossier <Répertoire d'installation d'ADSelfService Plus>\bin.
- bcp.exe- \Tools\Binn\bcp.exe
- bcp.rll- \Tools\Binn\Resources\1033\bcp.rll
Remarque : Afin de s'assurer que les dépendances de bcp.exe sont installées correctement, ouvrez l’invite de commandes dans <Répertoire d'installation de ADSelfService Plus>\bin et exécutez bcp.exe /v. Si la version du fichier bcp.exe est affichée, cela signifie que les dépendances sont correctement installées.
- Allez dans <Répertoire d'installation d'ADSelfService Plus>\bin.
- Si vous n'avez pas de données à migrer, exécutez ChangeDB (fichier batch Windows) en tant qu'administrateur.
Remarque : Pour migrer avec les données intactes, ouvrez l’invite de commandes, allez dans le <Répertoire d'installation d’ADSelfService Plus>\bin et exécutez la commande changeDB.bat true avec des privilèges d'administrateur.
- L’assistant Configuration de la BD s'ouvre. Sélectionnez MS SQL Server comme Type de serveur, et entrez le Nom d'hôte de l'instance de MS SQL Server.
- Assurez-vous que le serveur SQL Browser est en cours d'exécution et que les ports 1433 pour TCP et 1434 pour UDP sont ouverts afin que les instances MS SQL Server disponibles soient récupérées et affichées. Les valeurs pour Numéro de port et Instances MS SQL Server disponibles sont automatiquement chargées. Dans la liste d'instances affichée, sélectionnez celle que vous souhaitez utiliser, puis saisissez le Nom de la base de données.
- Si vous choisissez Authentification Windows fournissez le Nom de domaine, nom d'utilisateur et Mot de passe du compte utilisateur qui a accès au serveur.
Remarque:
- L’authentification Windows ne peut pas être utilisée lorsque le serveur ADSelfService Plus et le serveur MS SQL résident dans des domaines différents. Dans ce cas, utilisez l’authentification SQL Server.
- Si ADSelfService Plus fonctionne déjà comme un service Windows, vous pouvez utiliser son compte de service pour la configuration de la base de données ou créer un compte séparé. Si vous créez un compte séparé, assurez-vous que le compte du service ADSelfService Plus a aussi les autorisations requises pour accéder au serveur MS SQL Server. Consultez l'annexe B pour connaître les autorisations nécessaires.
- Cliquez sur Tester pour vérifier si les informations d'identification saisies sont correctes. Si la connexion échoue, les informations d'identification saisies sont peut-être erronées. Essayez d'utiliser les informations d'identification correctes.
- Cliquez sur Enregistrer.
Annexe A
Configuration de MS SQL Server
Si vous avez déjà une instance MS SQL Server fonctionnelle, cette étape n'est pas nécessaire. Suivez les étapes suivantes pour configurer une instance de MS SQL Server récemment installée :
- Ouvrez SQL Server Configuration Manager ou exécutez compmgmt.msc dans l'invite de commandes.
- Allez dans Services SQL Server > SQL Server Browser. Vérifiez que SQL Server Browser est bien en cours d'exécution.
- Aller à Configuration réseau du serveur SQL Server et double-cliquez sur Protocoles pour <Nom_de_l'instance>.
- Cliquez sur le bouton TCP/IP et activez-le.
- Retournez dans le gestionnaire de configuration SQL Server. Dans le volet de gauche :
- Allez dans Configuration du réseau SQL Server > Protocoles pour SQLEXPRESS, et activez tous les protocoles.
- Allez dans Configuration client SQL Native > Protocoles client, et activez tous les protocoles.
- Redémarrez le service SQL Server pour que les modifications soient prises en compte.
Remarque : SQLEXPRESS est, en général, le nom d'instance fourni lors de la configuration de MS SQL Server. Cependant, il peut être modifié. SQLEXPRESS sera utilisé dans ce document par la suite.
Annexe B
Déléguer l'accès à MS SQL Server aux utilisateurs
Pour terminer le processus de migration, vous avez besoin d’un compte administrateur de la base de données pour la connexion MS SQL. Si ADSelfService Plus fonctionne déjà comme un service Windows, vous pouvez utiliser son compte de service comme compte administrateur de base de données MS SQL. Assurez-vous que le compte dispose des privilèges requis. Si un tel compte n'existe pas dans MS SQL, suivez les étapes indiquées ci-dessous pour créer un nouveau compte d'utilisateur et lui attribuer les autorisations requises.
- Connectez-vous à SQL Server Management Studio.
- Dans le volet de gauche, allez dans Nom de la machine > SQLEXPRESS > Sécurité > Connexions.
- Faites un clic droit sur Connexions et sélectionnez Nouvelle connexion.
- Fournissez un Nom de connexion et choisissez d'utiliser Authentification Windows ou Authentification SQL Server.
- Si vous choisissez Authentification Windows, saisissez le nom Windows NT de l'utilisateur auquel l'accès doit être accordé.
- Si vous choisissez Authentification SQL Server, vous serez invité à créer un nouveau Nom d'utilisateur et Mot de passe.
- Le nouvel utilisateur doit avoir le rôle sysadmin au niveau du serveur et le rôle db_owner au niveau de la base de données. Suivez ces étapes pour fournir l'autorisation du rôle sysadmin et db_owner :
- Allez dans Nom de la machine > SQLEXPRESS > Sécurité > Connexions. Faites un clic droit sur l'utilisateur > Propriétés.
- Allez dans Rôles du serveur, sélectionnez le rôle sysadmin et cochez la case OK.
- Allez dans Mappage d’utilisateurs dans le volet de gauche. Dans la section Utilisateurs associés à cette connexion, cochez la case à côté de la base de données. Dans la liste des rôles de la base de données, sélectionnez db_owner et cliquez sur OK
Remarque : Pour plus de détails sur les rôles des utilisateurs, reportez-vous aux documents suivants :
En général, le compte configuré a besoin de l'un de ces trois ensembles de privilèges pour mener à bien le processus de migration :
| | Rôle requis dans la base de données | Autorisations requises |
| Ensemble 1 | db_owner | Facultatif |
| Ensemble 2 | db_datareader, db_datawriter, db_ddladmin, db_backupoperator. | Facultatif |
| Ensemble 3 | db_ddladmin | ALTER ANY TABLE, ALTER ANY AGGREGATE, ALTER ANY DEFAULT, ALTER ANY FUNCTION, ALTER ANY PROCEDURE, ALTER ANY QUEUE, ALTER ANY RULE, ALTER ANY SYNONYM, ALTER ANY TYPE, ALTER ANY VIEW, ALTER ANY XML SCHEMA COLLECTION, ALTER ANY REFERENCES, CONTROL ON CERTIFICATE::[ZOHO_CERT] TO [user], CONTROL ON SYMMETRIC KEY::[##MS_DatabaseMasterKey##] TO [user], CONTROL ON SYMMETRIC KEY::[ZOHO_SYMM_KEY] TO [user] |
Important : Veuillez noter que vous devez avoir l’autorisation db_owner lors de la première migration de PostgreSQL vers MS SQL. Après une migration réussie, vous pouvez révoquer l'autorisation db_owner pour le compte, et fournir les autorisations ensemble 2 ou 3.