Techdays 2015 – SQL Server et la virtualisation : 45 minutes inside

En attendant que les slides soient disponibles au téléchargement, vous avez été nombreux à me demander les scripts Powershell pour créer “rapidement” une machine virtuelle sous Hyper-V.

Pour télécharger les scripts rendez vous sur mon onedrive.

image

Pensez quand même à changer le fichier template et les chemins d’accès !

Happy Powershell !

Publié dans Hyper-V, PowerShell, SQL Server | Marqué avec , | Un commentaire

JSS 2014 – Compteurs de performance et DMVs DMFs

Publié dans Evènements | Laisser un commentaire

Order By – ordonner le résultat d’une vue

En formation, la question revient invariablement : comment ordonner les enregistrements résultant d’un select sur une vue…
La réponse est on ne peut plus simple : avec un ORDER BY !

Bon, OK, un peu d’humour ne fait pas de mal… Mais de quel order by parle t’on ? Du order by dans la déclaration de la vue ?

Prenons une requête de référence, ordonnée comme on le souhaite :

 

Use AdventureWorks
GO


SELECT  *
FROM sales.SalesOrderHeader 
ORDER BY OrderDate DESC,SalesOrderID  ASC;

image

 

Reprenons le code de ce select pour créer une vue :

CREATE VIEW vDemoOrderBy
AS
SELECT *
FROM sales.SalesOrderHeader 
ORDER BY OrderDate DESC,SalesOrderID  ASC
GO

 

image

 

Oups, cela ne fonctionne pas. Le message est clair : impossible d’utiliser une clause order by dans une vue, a moins d’utiliser un des opérateurs suivants : TOP, OFFSET ou FOR XML.

Les anciens, ayant connu SQL Server 2000, connaissaient l’astuce : ajouter une clause TOP, avec 100 PERCENT en argument et hop, le tour était joué !

 

CREATE VIEW vDemoOrderBy
AS
SELECT TOP 100 PERCENT *
FROM sales.SalesOrderHeader 
ORDER BY OrderDate DESC,SalesOrderID  ASC
GO

 

image

 

Cool, on vient donc de créer une vue, qui a priori renvoie un résultat trié puisque un order by est présent dans le code …

SELECT  *
FROM sales.SalesOrderHeader 
ORDER BY OrderDate DESC,SalesOrderID  ASC


SELECT *
FROM vDemoOrderBy


La première requête est notre requête de référence, alors que la seconde fait appel à la vue “triée”. Et le résultat n’est absolument pas identique :

image

Le comportement de SQL Server a changé depuis SQL Server 2005. Lorsque, dans une vue, les opérateurs ORDER BY et TOP sont combinés, le order by est ignoré !!!

L’affichage du plan d’exécution valide ce point : il n’y a pas de tri lors de l’utilisation de la vue.

image

 

 

Conclusion : ne faites pas confiance au order by contenu dans une vue. Si vous avez réellement besoin d’obtenir un résultat trié en sortie d’une vue, alors ajoutez le order by à la requête qui accède à la vue et chassez le mythe de la vue ordonnée !

Et, souvenez vous bien que le tri est couteux, en terme de ressources système (79% du cout de la requête dans le cas présent). Donc, ne triez le résultat que si vous avez réellement besoin que ce soit le cas. Sinon, abstenez vous, ou bien reportez le tri côté client si possible, et comparez les performances et la montée en charge.

 

Happy sorting !

Publié dans SQL Server | Laisser un commentaire

JSS2014 – Compteurs de performance et DMVs – la vidéo

La vidéo de la session Compteurs de performance et DMVs des JSS2014 est enfin en ligne. Le niveau technique n’est pas très élevé. Par contre, le rythme l’est un peu !

 

Enjoy

Publié dans Evènements, SQL Server | Marqué avec | Un commentaire

Violin Windows Flash Arrays and Scale-Out File Servers

Violin Memory, qui faisait partie des sponsors des JSS2014 ainsi que du SQL Saturday 323 à Paris est un acteur spécialisé dans les baies de stockage flash.

Et vous n’êtes pas sans savoir que j’apprécie ce type de techno qui qui final apporte de réels gains de performance. Alors, oui, argument contre lequel je ne peux pas aller contre : le prix.

Maintenant, plutôt que de raisonner sur un tarif au “$/Go”, je vous propose de raisonner sur un tarif “$/IOPS”. Car, oui, il est rare de nos jours de se confronter à des problématiques de volumétrie sur une baie de disque. Par contre, et je le vis quasiment au quotidien lors des audit performance, on est souvent restreint, d’un point de vue performance, par le nombre d’IO/seconde, et surtout par la latence disque, la bête noire de tout DBA.

Il ne faut pas s’étonner donc de voir une multitude d’acteurs se démener dans le monde du stockage flash (Violin, FusioIO, OCZ, Intel, LSI, Skyera, Pure Storage, Tegile et bien d’autres …) qui bousculent les acteurs historiques du SAN (EMC, NetAPP, HP, …).

L’émulation à du bon, les prix baissent. Et il n’est plus illusoire, et hors de prix,  à présent de penser à ajouter une baie flash dans votre infrastructure.

Si vous n’êtes pas convaincu de la performance, je vous invite à télécharger le white paper “Building High Performance Storage for Hyper-V Cluster on Scale-Out File Servers using Violin Windows Flash Arrays “.

Certes, le démonstration est faite pour Hyper-V. Mais point de différence entre stocker un VHDX ou un MDF …

Happy faster IOs ………..

Publié dans Hyper-V, SQL Server | Marqué avec , , | Laisser un commentaire

300 : Valeur minimale pour le PLE. Vrai ou faux ?

Lorsque l’on monitore un serveur SQL, un des premiers compteurs de performance que l’on observe avec attention est le PLE ou Page Life Expectancy. L’espérance de vie d’une page en mémoire.

Il est communément admis qu’une valeur de 300, exprimé en secondes, constitue une valeur seuil. 5 minutes, donc.

Est-ce que cette valeur est la réelle valeur critique ? La réponse lors de ma session des #JSS2014.

Inscrivez vous vite !!!

Publié dans Evènements | Marqué avec | Laisser un commentaire

Teasing #JSS2014 : faites vous confiance au compteur Page Splits/sec ?

Les #JSS2014 approchent à grand pas. Pas encore inscrit ? Il est temps … N’oubliez pas non plus de réserver votre lunch box !

Petit teasing pour ma sessions “Compteurs de performance et DMVs”  :

Avez vous confiance dans le compteur Page Splits/sec ? Est-ce qu’une valeur élevée pour ce compteur révèle un problème de performance ?

image

Et le compteur Forwarded Records/sec ? Faut-il en tenir compte ?

Un début de réponse lors des JSS …

Publié dans Evènements, SQL Server | Marqué avec | Laisser un commentaire

Outils pour tester les performances d’un disque : diskpsd

Afin de tester la performance des disques d’un serveur, un point crucial, différents outils sont disponibles sur le marché. Citons les plus connus, ou les plus utilisés dans le monde SQL :

 

Dernièrement, Microsoft vient de rentre public un outil supplémentaire : Diskpsd

image

Un must have dans la toolbox de tous els administrateurs …

Publié dans Windows | Marqué avec | Laisser un commentaire

Journées SQL Server 2014 – inscrivez vous

Il est temps de s’inscrire aux Journées SQL Server 2014 qui auront lieu les 1er et 2 décembre 2014 dans les locaux Microsoft à Paris.

Centre de Conférences Microsoft
41 quai du Président Roosevelt
Issy-les-Moulineaux

Venez participer à cet évènement majeur pour la communauté SQL Server en France. Les inscriptions sont gratuites. Seule une participation pour le repas est demandée, si vous souhaitez profiter de la pause déjeuner pour avaler un lunch box et discuter avec les speakeurs présents lors de l’évènement (des MVPs, des MCMs et un florilège d’experts et de passionnés qui viennent partager leur savoir et leur expérience).

L’agenda est bien garni et devrait satisfaire tout le monde, Bi guys et barbus du moteur.

 

Inscrivez vous maintenant …

 

 

Publié dans Evènements | Marqué avec | Laisser un commentaire

image

Lien | Publié le par | Laisser un commentaire