Et si nous parlions de SQL Server Express 2017 ?
SQL Server Express 2017 est très utilisé dans l’industrie pour stocker les données des automates qui sont ensuite remontées vers des instances Standard ou Enterprise du moteur de base de données pour la supervision ou l’agrégation de données. A noter que cette édition gratuite n’est toujours pas disponible pour Linux ! Microsoft n’est pas du genre à se tirer une balle dans le pied.
La version Express comprend de nombreuses limitations. La 1ère est que vous ne pouvez pas vous connecter à distance à une instance SQL Server Express. En revanche, l’inverse est possible. Autrement dit, s’il vous est possible de vous lier à une version commerciale à partir d’Express, les instances Standard et Enterprise ne peuvent pas se lier à Express. Cette version limitée du moteur de bases de données ne dispose ni d’agent SQL Server, ni des services Integration Services. Pour la réplication, l’absence d’agent n’autorise que la publication/abonnement en mode push à partir de versions commerciales. Je l’ai d’ailleurs découvert cette semaine.
Pour envoyer vos données à partir de l’édition Express vers une Standard/Enterprise, il faut imaginer, de manière totalement asynchrone :
- de sauvegarder vos données en local par un script utilisant l’exécutable sqlcmd.exe disponible après avoir installé SSMS ;
- de nettoyer les données sauvegardées par script afin de contenir la croissance de la base ;
- d’accéder à la sauvegarde à partir d’un partage réseau pour la restaurer sur une instance Standard/Enterprise au travers d’un plan de maintenance planifié ou d’un script système exécuté sur la machine hébergeant la version Standard/Enterprise ;
- d’incorporer vos données par un lot DTSX planifié, en recourant éventuellement à l’instruction MERGE au niveau de l’instance de la version Standard/Enterprise.
Les autres limitations
SQL Server Express 2017 ne peut pas être utilisé en toutes circonstances. C’est la taille maximale de 10 Go par base qui est de loin la plus critique ! Il est parfois très largement préférable d’utiliser des moteurs de bases de données Open Source tels que MySQL, MariaDB, PostgreSQL ou Firebird qui ne présentent aucune des limitations présentées ci-dessous :
- 1 seule instance ;
- 1 processeur disposant de 4 cœurs max ;
- 1410 Mo de mémoire max ;
- 10 Go pour la taille max d’1 base de données, sachant que l’instance peut gérer plusieurs bases de données.