NOLOCK n’est définitivement pas ce que vous croyez

Mis en avant

Pour ceux qui croient encore qu’utiliser le hint nolock se prémunit contre tout verrou, lisez la suite de ce billet. J’avais déjà écrit un billet précédent sur le sujet il y a 3 ans environ, lorsque j’étais chez un client et que nous avions eu une discussion intéressante sur ce type de hint placé dans les requêtes de Reporting. Cette fois, j’ai pu expérimenté chez un autre client, une problématique de verrouillage intéressante en utilisant ce même hint.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

Envie de faire un benchmark de votre stockage? Il est temps de passer à diskspd

Mis en avant

Comme vous le savez certainement, SQLIO est officiellement dépréciée depuis quelques mois. Pour ma part, j’ai eu l’occasion (peut être la dernière) d’utiliser SQLIO pour un projet client dans le but d’effectuer un benchmark de son stockage et préparer une installation AlwaysOn et groupes de disponibilité. Il est maintenant temps de passer au prochain outil prévu à cet effet: DiskSpd.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

Jointure, transitivité et simplification de requête

Mis en avant

Au cours d’une discussion hier avec un de mes amis « oraclien » nous avons débattu sur les différents comportements d’optimisation entre Oracle et SQL Server sur un cas bien précis. Vous pouvez lire son billet ici et trouver un script pour reproduire le problème par vous même. J’ai donc décidé d’écrire un billet à mon tour parce que cette discussion avait introduit des concepts intéressants que je voulais approfondir côté SQL Server.

> Pour lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

N’utilisez pas les paramètres par défaut AUTOGROW!

Mis en avant

Au cours de mes audits clients, j’ai souvent vu les paramètres d’expansion de fichiers par défaut sur les bases de données utilisateurs et comme vous le savez ceci n’est pas forcément une bonne pratique. Laissez moi vous raconter une histoire drôle vécue qui concerne une situation extrême avec un fichier journal et ses paramètres par défaut.

> Pour lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

MVP SQL Server : Quatrième chapitre pour l’année 2013

Mis en avant

Pas de poisson d’avril et une vraie bonne nouvelle de la part de Microsoft aujourd’hui : le renouvèlement de mon titre de MVP SQL Server pour la 4ème fois.

J’en profite pour remercier Martine Tiphaine et Microsoft une nouvelle fois !

 

mvp

 

David BARBARIN (Mikedavem)
MVP SQL Server

Les journées SQL Server–second volet

Mis en avant

 

 

 

Le premier volet des journées SQL Server a visiblement connu un très grand succès. C’est la raison pour laquelle GUSS s’est relancé dans la préparation d’un second volet qui devrait se dérouler en décembre. Les dates définitives seront communiqués un peu plus tard. Cependant pour que cet évènement soit de nouveau un succès nous avons besoin de vos avis qui se présente sous la forme d’un sondage qui ne vous prendra que quelques minutes de votre temps Sourire et qui nous permettront de mieux cibler vos attentes à tous les niveaux (contenu des sessions, organisation etc …)

Pour le remplir c’est par ici

Merci par avance !!

 

David BARBARIN (Mikedavem)
MVP SQL Server

Interpréter les noms de statistiques créées automatiquement par l’optimisateur de requêtes de SQL Server

Pour ceux qui se demandent comment interpréter les noms de statistiques créées automatiquement par l’optimisateur de requêtes ce billet est pour vous Sourire. Comme vous le savez sans doute lorsqu’un index créé des statistiques lui sont également associées. Ces dernières servent à l’optimisateur de requêtes afin de déterminer un plan optimal pour retrouver les données initiés par une requête. Autrement dit en fonction des cardinalités ou de la sélectivité des données sous jacentes celui-ci va déterminer quelle(s) méthode(s) il devra pour utiliser pour les retrouver avec un minimum de coût.  Cependant que se passe-t-il lorsqu’une requête composée d’un prédicat ne concerne pas un index ? He bien celui-ci va créer des statistiques sur la ou les colonnes concernées pour pouvoir estimer la cardinalité des données à retourner. Ces statistiques se retrouvent sous la forme _WA_Sys_00000004_0F382DC6 par exemple. Comment interpréter ce nom plutôt abscons à première vue. C’est ce que nous allons voir dans la suite de billet.

Lire la suite

Trouver un login de type Windows par son SID Windows

Il peut arriver parfois de vouloir retrouver un login Windows via son SID (ou Security Identifier) au format Windows sur une instance SQL Server. Le problème est que le SID stocké sur SQL Server est au format varbinary(85). Il nous faut donc formater la valeur de cette colonne pour pouvoir la mettre au format Windows S-X-X-XX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXX-XXXX.

Lire la suite

Buffer Cache Hit Ratio : seul compteur à surveiller pour détecter une pression mémoire ?

Un petit billet sur un compteur que vous connaissez certainement tous et qui permet en autre de détecter une pression mémoire sur une instance SQL Server. Seulement en faisant un audit des compteurs de surveillance d’un de mes clients, je me suis aperçu qu’il n’utilisait que ce dernier pour détecter la présence ou non une pression mémoire sur l’ensemble des instances de son parc. Je lui ai donc expliqué que l’utilisation unique de ce compteur ne permettait pas à tous les coups de détecter un problème d’utilisation mémoire. Je vous propose de voir pourquoi dans ce billet.

Lire la suite