SQL Server Management Studio 2016 v16.3 vient de sortir !

Avec la sortie de SQL Server 2016, Microsoft avait annoncé découpler l’installation de SQL Server Management Studio (SSMS) de celle de SQL Server. Ceci sert deux buts :

  • On n’est plus tenté d’installer SSMS en même temps que SQL Server sur une machine : ceci fait donc moins d’ouvertures aux potentielles failles de sécurité et élimine de possibles instabilités de la machine. Cela oblige les acteurs de l’entreprise à se connecter une l’instance SQL Server directement depuis leur station de travail, ou mieux depuis une machine « de rebond » qui peut être monitorée très strictement en ce qui concerne la sécurité d’accès et l’audit des actions de l’utilisateur (par exemple enregistrement vidéo de la session bureau à distance)
  • Lire la suite

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