jeudi 27 février 2020

Analyser les "wait statistics"

Cet article décrit ce que sont les "wait statistics", comment ces informations peuvent vous aider à diagnostiquer des problèmes de performances, et pourquoi vous trouvez certaines requêtes avec un statut "SUSPENDED".

Lire la suite...

vendredi 21 février 2020

Retrouvez la version d'origine

Savez-vous que les fichiers de données ou de sauvegarde de SQL Server embarquent l'information sur la version d'origine qui a servi à les créer ?

Dans pas mal de cas, il peut être utile de savoir de quelle version provient un fichier de données ou de sauvegarde, voire connaître pour une base de données existante dans quelle version elle a été créée au départ.

Voici comment obtenir cette information...

Lire la suite...

samedi 15 février 2020

Changement d'hébergement

Mon fournisseur (gandi pour ne pas le nommer) a la mauvaise idée de retirer prochainement de son offre sa plate-forme de blog gratuite. Ce blog a donc été entièrement migré et reconstruit sur une nouvelle plate-forme. Possible que certaines images manquent ou que certains anciens articles ne s'affichent plus comme avant, n'hésitez pas à me le signaler...

vendredi 14 février 2020

Série en 5 épisodes : Haute Disponibilité

Une nouvelle série de vidéos a été publiée sur la chaîne youtube Datafly : 5 épisodes sur la haute disponibilité avec SQL Server. C'est l'occasion de vous présenter un petit panorama illustré :

  • Le premier épisode présente le log shipping
  • Le second, le database mirroring
  • Le troisième, les clusters FCI
  • Le quatrième, les groupes de disponibilité Always On
  • Le cinquième et dernier épisode fait une petite synthèse et répond à quelques questions posées.

jeudi 13 février 2020

SSMSInfoReports - les custom reports pour SSMS

Une nouvelle version de mes "Custom Information Reports for SSMS", version 6.5.2 a été publiée. Ces rapports vous permettent d'obtenir rapidement une vue complète de votre instance SQL Server et de ses bases de données. C'est mon outil de travail de tous les jours et nombre de mes clients l'utilisent. Les 11 rapports vous permettent d'examiner la configuration du serveur, la configuration et la santé des bases de données, les travaux de l'agent SQL Server, les informations de performance, les tables, index, statistiques, etc...

Au menu de cette nouvelle version :

  • Plusieurs corrections de bugs : débarrassez-vous des versions précédentes et prenez celle-là !
  • Ajout d'un nouveau rapport sur les index manquants
  • Améliorations de présentation et de format

A télécharger sur : https://github.com/datafly/SSMSInfoReports

Bon reporting...

samedi 8 février 2020

Importer des données d'Excel : pas si simple ?

Il est fréquent d'avoir à importer des données d'un tableau Excel dans une table. Nous verrons ici qu'il existe plusieurs moyens simples de le faire, mais qu'un peu de recherche et de configuration préalable (pour ne pas dire "bidouille") sont nécessaires.

Lire la suite...

mercredi 15 janvier 2020

Batch mode on row store

Le "batch mode on row store" : encore une nouveauté de l'optimiseur de SQL Server 2019 qui améliore sensiblement les performances de certaines requêtes. Cette vidéo disponible sur la chaine youtube Datafly vous en fait la démonstration et vous allez voir que cela peut être diablement efficace.

Au passage, on découvre en passant certaines des nouvelles fonctionnalités du moteur depuis SQL Server 2017 : les jointures adaptatives et le memory grant feedback.

A voir ici : https://www.youtube.com/watch?v=KuokF5kQdXI

vendredi 10 janvier 2020

Avez-vous des deadlocks ?

Savez-vous que SQL Server capture en permanence les évènements deadlocks qui surviennent, grâce à sa session d'évènements étendus toujours active ? Découvrez comment exploiter ce journal et afficher les derniers deadlocks en format graphique...

Lire la suite...

dimanche 5 janvier 2020

SOS Verrous bloquants

Le mode d'isolation par défaut de SQL Server s'appuie sur du verrouillage pour supporter des accès concurrents aux mêmes données : si des transactions de modification ne se terminent pas, d'autres transactions qui veulent accéder aux mêmes ressources restent en attente.

On rencontre donc de temps en temps sur le terrain des applications sujettes à des verrous bloquants. Le problème est classiquement d'ordre applicatif : des transactions trop longues (voire même parfois qui ne sont jamais fermées). Et bien souvent, c'est le serveur SQL qu'on accuse, plutôt que de se pencher sur le fonctionnement de l'application.

Quelles sont les méthodes (les bonnes et les moins bonnes) pour en sortir ?

Lire la suite...

vendredi 27 décembre 2019

TSQL : Gérer des listes avec séparateurs

Il arrive parfois que l'on doive gérer gérer des listes avec séparateurs, soit pour les "tabulariser" (transformer la liste en colonne de valeurs), soit pour les produire à partir des valeurs d'une colonne,.

Par exemple, transformer "pain, vin, boursin" en :

colonne1
pain
vin
boursin

... ou l'inverse...!

Nous voyons ici les syntaxes disponibles, et aussi les nouvelles fonctions qu'apportent à ce sujet SQL Server 2016 et 2017 : STRING_SPLIT et STRING_AGG

Lire la suite...

- page 2 de 15 -