Parcours éditorial — Annexe · Technique · Partie 1/1
Note technique Azure SQL — hors parcours IA/automatisation.

Pour utiliser une syntaxe SQL plus récente dans Azure SQL, ce n'est pas la version du serveur qui compte — c'est le niveau de compatibilité.

Un matin, un développeur de mon équipe m'a demandé quelle était la version SQL d'une base de production pour savoir s'il pouvait utiliser une syntaxe plus récente. La réponse n'était pas aussi simple qu'il l'espérait — surtout sur Azure SQL Database, où les numéros de version ne correspondent pas aux étiquettes SQL Server on-premise.

Note : Les niveaux de compatibilité et les valeurs par défaut Azure ont évolué depuis la rédaction initiale. Vérifiez la documentation Microsoft avant de modifier la production.

En bref

  • La version dans l'Explorateur d'objets SSMS et SELECT @@VERSION peuvent différer sur Azure SQL
  • Le niveau de compatibilité détermine quelle syntaxe T-SQL est disponible — pas l'étiquette de version
  • Niveaux 100–140 = SQL Server 2008 à 2017 ; des niveaux plus récents existent (150, 160, etc.)
  • Vérifiez toujours le niveau de compatibilité avant d'adopter une syntaxe en production

Comment obtenir la version — et pourquoi les résultats divergent

Dans SQL Management Studio, la version apparaît dans l'Explorateur d'objets :

SQLManagerSQLVersion

Dans cet exemple, la version est 12.0.2000.8 — interprétable comme SQL Server 2014.

Référence : Comment déterminer la version de SQL Server

Avec SELECT @@VERSION, le résultat peut différer :

SQLVERSION

Ici, on pourrait croire à SQL Server 2016. Les numéros de version physique et Azure ne sont pas les mêmes.

Ce qui compte vraiment : le niveau de compatibilité

NiveauSQL Server / Azure SQL Database
100SQL Server 2008
110SQL Server 2012
120SQL Server 2014
130SQL Server 2016
140SQL Server 2017

Référence : Default compatibility level 140 for Azure SQL databases

Vérifier le niveau de compatibilité

SELECT name, compatibility_level
FROM sys.databases
WHERE name = DB_NAME();

Testez toujours en non-production avant de changer le niveau. Certains plans de requête et fonctionnalités dépréciées se comportent différemment selon le niveau.

Cette note est hors parcours principal Opérations → Automatisation → IA → Données — mais la clarté plateforme évite la dette technique qui alimente le travail non planifié.

Où vous en êtes

Note Annexe · Technique autonome — pas de série numérotée. Revenez au parcours via le guide de lecture, ou explorez Le coût caché de la dette technique.

Vous travaillez sur une migration ou une modernisation de requêtes? Échangeons.