sys.dm_exec_query_profiles : la DMV qui détaille les noeuds d’un plan d’exécution réel

La lecture du plan d’exécution réel peut s’avérer être une tâche laborieuse, surtout lorsque le plan contient de nombreux opérateurs ou nœuds.

Introduite avec SQL Server 2014, la vue de gestion dynamique sys.dm_exec_query_profiles nous permet de voir quel(s) nœud(s) d’un plan d’exécution réel consomme le plus de ressources et /ou de temps. C’est donc un formidable outil qui peut faire largement diminuer la recherche des points noueux d’une requête à l’étude.

Lire la suite

Les nouveautés de l’optimiseur de SQL Server 2016

Avec la sortie de SQL Server 2016, sous le mode de compatibilité des bases de données à 130, les corrections et ajouts sont listés dans ce billet officiel.

On notera comme très bienvenues :

  • le fait de ne plus avoir à activer le drapeau de trace 2371 pour voir le ré-échantillonnage des statistiques de colonnes et d’index se faire lorsque la table a subi 20% du nombre de ses lignes en affectation
  • le drapeau de trace est l’un de ceux qu’on n’ose pas activer, parce qu’il peut être bénéfique à certaines requêtes et pas à d’autres : sous le mode de compatibilité 130, ce sera le cas par défaut
  • la parallélisation de la mise à jour des statistiques échantillonnées, qui vient compléter avantageusement celles qui ne l’étaient pas (FULLSCAN)

Bonne lecture et optimisation de requêtes !

Comment voir le contenu complet d’une colonne de type [n]varchar(max)

S’apercevoir, alors que l’on vient de coller une valeur d’une colonne du résultat d’une requête dans SQL Server Management Studio, que le buffer est limité, est quelque peu frustrant.
On peut parfois dépasser cette limite en se rendant dans le menu Tools > Options > Query Results > SLQ Server > Results to Grid :

Mais souvent, cela ne suffit pas. Voyons comment contourner ce petit problème :

Lire la suite

Les attentes, c’est quoi au juste ?

Les attentes sont aux threads SQL Server ce qu’elles sont aux patients dans une salle d’attente. Voilà !

Bien entendu ce n’est pas aussi simple que cela. Démarrons donc une série de billets sur les attentes au sein du moteur de bases de données de SQL Server, en détaillant un peu le mode d’exécution des requêtes.

Lire la suite

Récompense MVP : Chapitre 2016

Microsoft vient de me remettre cette récompense pour la sixième fois, et à quelques jours près, un an après mon retour en France.
Comme toute récompense, elle est le résultat de la cohésion de la communauté SQL Server, et à ce titre, je souhaite remercier tout spécialement :

Dans la catégorie base de données :

  • Pascale Doz, experte en bases de données;
  • Frédéric Brouard, alias SQLPro, expert en bases de données;
  • Rudi Bruchez, alias Babaluga, expert en bases de données;
  • David Barbarin, alias Mikedavem, expert SQL Server

Dans la catégorie recrutement IT : Clément Bocquentin, consultant indépendant en recrutement;

Dans la catégorie communautés :

  • Toute l’équipe de Développez.com, et les participants au forum, sans qui je n’aurai pas le plaisir de connaître toutes ces personnes;
  • Martine Thiphaine, Lead MVP Microsoft France;
  • Les membres du Groupe des Utilisateurs de SQL Server

Last but not least : Arian Papillon, Sarah Bessard et Gilles Ducassou (encore des experts SQL Server ! :D)

A très bientôt dans la mécanique interne de SQL Server ;)

Résumé du SQL Saturday #501 à Paris par la célèbre Sarah Bessard

Je me suis rendu hier au SQL Saturdays organisés à Paris par le GUSS, un bel événement, beaucoup de monde, et une vue imprenable sur Paris.

J’ai eu l’honneur et l’avantage de faire la rencontre de la très célèbre Sarah Bessard, dont j’entendais régulièrement parler depuis mon rapatriement en France, sans pour autant l’avoir encore vue de mes yeux. Elle a résumé avec un humour qui n’a d’égal que son talent pour l’animation par une mise en scène d’un excellente session sur le Query Store en compagnie de Philippe Geiger, et d’une autre sur le processus de migration d’une version à l’autre de SQL Server, avec Arian Papillon, en sombrero et collier de fleurs … Preuve, s’il en fallait encore, de la nécessité de femmes dans ce mondes de barbus !

Je vous laisse donc vous délecter de ce résumé, car je n’aurais pas pu l’écrire mieux qu’elle. Croyez-le ou non, il colle très bien à la réalité !

@++ ;)

Vérifier la validité d’un SIRET – Algorithme de Luhn

Lors d’un chargement massif de données et/ou d’une migration, il est possible que la qualité des données soient altérées. Il faut alors tester leur qualité et valider chaque écart. Parmi ceux-ci, on peut trouver les numéro SIRET, qui permet l’identification d’un établissement ou d’une entreprise Française.

Cet identifiant numérique est constitué de 14 chiffres, et est articulé en trois parties :

  • le SIREN
  • le Numéro Interne de Classement, à quatre chiffres : c’est l’ordre de création de l’établissement par l’entreprise Française
  • une clé de contrôle, constituée d’un seul chiffre

Ce dernier est calculé à l’aide de l’algorithme de Luhn. Cet algorithme est aussi utilisé pour valider les numéros de carte bleue, et de nombreux identifiants distribués par les administrations de beaucoup de pays. Nous allons nous en servir pour vérifier la validité de SIRETs en l’implémentant spécifiquement pour ce type d’identifiant.

Lire la suite