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é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é !

@++ ;)

Mesurer et remédier à la fragmentation des index fulltext

La fragmentation et la défragmentation des index relationnels est un sujet connu sur lequel la littérature ne manque pas. Mais on voit bien moins souvent des lignes sur les index fulltext, donc la fragmentation élevée nuit de la même façon aux performances des requêtes que leurs cousins relationnels.

Voici donc une requête qui permet de mesurer la fragmentation des index fulltext, et qui génère l’instruction de maintenance adéquate, le cas échéant :

Lire la suite

Capture manuelle de plans de requête

Plusieurs des participants au forum SQL Server de Développez demandent comment optimiser une requête : ce billet leur est particulièrement destiné, puisqu’une optimisation de requête ne peut réellement se faire sans son plan d’exécution, le mieux étant aussi d’avoir la sortie de l’option de session SET STATISTICS IO, TIME ON, et le DDL (ordre CREATE TABLE) de la table et de ses index.
Lire la suite

Où trouver la définition des objets et attributs de plans de requêtes ?

Après quelques mois d’absence et avoir assisté au Microsoft MVP Summit et au PASS Summit 2014, et m’être enfin replongé dans un peu de lecture dense sur SQL Server, voici quelques liens utiles en ce qui concerne les plans de requête :

  • Définition des plans XML : schémas XSD : expose le schéma XSD des plans de requête XML, ce qui permet de trouver les améliorations au niveau de l’optimiseur en comparant le schéma de deux versions de SQL Server
  • Guide de référence des opérateurs Showplan : une liste exhaustive de tous les opérateurs que l’on peut trouver dans un plan de requête graphique
  • Une autre liste, publiée par Fabiano Amorim, avec la liste des opérateurs de plan d’exécution graphique les plus communs, expliquant leur fonctionnement, et pourquoi ils sont choisis par l’optimiseur de requêtes

Bonne lecture !

Sauvegardes cryptées et dans Azure avec SQL Server 2014

Microsoft a publié un article que j’ai terminé d’écrire au début de ce mois sur ce sujet.

En plus du fonctionnement du cryptage des sauvegardes, j’y détaille les étapes pour :

  1. Sauvegarder une base de données en cryptant le fichier de sauvegarde
  2. Restaurer une base de données à partir d’une fichier de sauvegarde crypté
  3. Réaliser des sauvegardes cryptées dans Azure
  4. Restaurer une base de données à partir d’une sauvegarde cryptée stockée dans Azure

Finalement, j’y aborde l’impact des divers algorithmes de cryptage sur l’utilisation CPU et la taille des fichiers de sauvegarde.

L’article est en Anglais, et je vais le traduire en Français.

Bonne lecture !