SQL Azure® est un service dans le Cloud faisant partie de Windows Azure®. Il consiste en un service de bases de données relationnelles bâti sur les technologies de SQL Server® hébergé par Microsoft.
Mercator 8.5 ou ultérieur peut être utilisé en mode cloud avec sa base de données hébergée sur un serveur SQL Azure. Cela requiert au minimum la version V12 de SQL Azure. En effet, cette version libère des fonctionnalités qui sont essentielles pour Mercator (select into, tables temporaires #, …).
Mercator, utilisé en mode "Azure", présente toutefois quelques limites, qui sont imposées par les limites mêmes de SQL Azure. A l’heure où nous écrivons ces pages, les requêtes "cross databases" ne sont pas autorisées. Il en résulte que, dans Mercator, l’option "multi-pont vers la comptabilité" et que la gestion multi-dossiers ne sont pas disponibles avec une base de données Azure.
Déploiement d’une base de données vers SQL Azure
La première étape consiste à disposer d’un Mercator, à jour et sain. Dans ce Mercator, il faut exécuter une vérification de la base de données SQL depuis les outils avancés. Cette vérification doit être faite jusqu’à ce que le message "La base de données ne requiert aucune modification !" soit affiché.
Ensuite, il faut rendre cette base de données compatible avec SQL Azure. Cela se fait via les outils avancés, "Base Données SQL / Préparer pour SQL Azure". Une fois cette opération terminée, il faut quitter Mercator et ne plus démarrer ce dossier.
Dans SQL Server Management Studio (version testée 2014), il faut exécuter la tâche « Déploiement vers SQL Azure », disponible via un clic-droit sur la base de données en question. Ceci va démarrer un assistant de déploiement. En fonction des spécificités de votre base de données, il est possible que sa migration soit refusée. Les messages d’erreur donnés par l’assistant vous permettront d’adapter la base de données.
(Cette fonctionnalité n'est pas disponible sur un SQL Express)
Une fois la base de données uploadée avec succès, il suffit d’éditer le fichier Mercator.connection qui se trouve dans le répertoire DATA de ce Mercator et d’y ajouter une ligne contenant :
ConnectionString = "Server=tcp:SERVER.database.windows.net,1433;Database=DATABASE;User ID=USER@SERVER;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
Dans cette chaîne, il faut remplacer
- SERVER par le nom de votre SQL virtuel (10 caractères)
- DATABASE par le nom de la base de données
- USER par votre nom d’utilisateur. Le mot de passe sera demandé lors du premier démarrage de Mercator.
A partir de ce moment, ce Mercator utilise exclusivement la base de données hébergée sur le serveur SQL Azure.
Plus d'information concernant la chaîne de connexion spécifique vers le serveur SQL.
Remarques :
- La migration vers SQL Azure ne peut s'appliquer que sur un dossier Mercator en parfait état de fonctionnement. En soit, cette migration ne pourra résoudre aucun problème qui serait constaté dans une version non cloud de Mercator
- L'assistant de déploiement est un outil fourni par Microsoft. Mercator n'apporte aucun support par rapport à cela.
- La chaîne ConnectionString ne contient pas l'élément Password. Celui-ci est ajouté automatiquement par Mercator. Cela permet de sauvegarder une version cryptée du mot de passe dans le fichier Mercator.connection
- Le second onglet de l'écran "Information Utilisateurs" n'est pas disponible avec une base de données SQL Azure.
- La version minimale à utiliser des outils clients est Microsoft SQL Server Management Studio 12.0.2430.0. Les versions antérieures ne sont pas nécessairement compatibles avec SQL Azure V12.
- La liaison à une comptabilité externe n'est pas possible.
Considérations concernant MercatorShield
Lorsque Mercator est installé avec une base de données SQL Asure, il n'est pas nécessaire d'installer MercatorShield. Mercator contient tous les éléments permettant la validation de la licence.
Le menu "MercatorShield" des outils avancés se voit modifié :
Il reprend en effet les fonctionnalités habituellement disponibles dans MercatorShieldGui.
Notez que le certificat est toujours stocké dans les fichiers SQL, dans le répertoire <MainDir\Certifs.