Redémarrer la trace par défaut

SQL Server fournit de nombreux outils de monitoring d’arrière-plan par défaut, comme le journal SQL Server, la session d’événements étendus system_health, mais aussi une trace SQL Profiler. Cette dernière est enregistrée dans un fichier dans le répertoire des journaux, et SQL Server conserve 6 fichiers de cette trace.

Elle capture, entre autres, les événements d’échec d’authentification, la création d’objets dans TempDB, les warnings sur Hash et Sort, les grossissements de fichiers, et de nombreux autres événements. Ceux-ci peuvent aider à comprendre, a posteriori, ce qui a causé une grande consommation de CPU, des latences disque, …

Comme cette trace est écrite sur disque, il peut malencontreusement arriver que ce dernier devienne plein, provoquant alors l’arrêt automatique et forcé de la trace. Ce léger incident (l’arrêt de la trace, pas l’absence d’espace disque libre !) n’empêche aucunement l’instance de fonctionner, ou au moins d’être accessible. Cependant, comment peut-on redémarrer cette trace sans redémarrer l’instance SQL Server ?

Lire la suite

Installer SQL Server Management Studio 2016

SSMS 2016 n’est maintenant plus inclus dans le package d’installation de SQL Server.
Ceci permet à Microsoft d’effectuer des corrections sur ce logiciel à un rythme plus rapide que jusqu’à SQL Server 2014.
Ceci se confirme lorsqu’on regarde la liste des corrections : un bon lot de tickets Connect sont adressés.

Pour installer SQL Server Management Studio 2016 v16.5, c’est par ici.
Pour obtenir l’installation dans une autre langue, voyez la section Langues disponibles.

ElSüket

SQL Sentry Plan Explorer Pro maintenant entièrement gratuit

On ne présente plus l’incontournable outil SQL Sentry Plan Explorer, que j’avais introduit ici et détaillé là.

SQL Sentry a annoncé hier que le fabuleux outil qui facilite grandement la lecture de plans de requête, SQL Sentry Plan Explorer, est maintenant gratuit dans son édition Pro.
Jusqu’ici, l’édition Express était déjà un bel outil, qui est maintenant complété par :

  • L’ouverture de plusieurs documents de plan de requête (fichiers .sqlplan, .queryanalysis, .pesession)
  • L’historique et ses commentaires au fur et à mesure du processus d’optimisation
  • L’ouverture des graphes décrivant un deadlock (fichiers de type .xdl)
  • La comparaison de l’impact des index pour une même requête
  • L’aide à l’analyse de la distribution des valeurs dans un objet de statistique

Bonne analyse de plans !

Vérifier la validité d’un SIRET – Algorithme de Luhn

Lors d’un chargement massif de données et/ou d’une migration, il est possible que la qualité des données soient altérées. Il faut alors tester leur qualité et valider chaque écart. Parmi ceux-ci, on peut trouver les numéro SIRET, qui permet l’identification d’un établissement ou d’une entreprise Française.

Cet identifiant numérique est constitué de 14 chiffres, et est articulé en trois parties :

  • le SIREN
  • le Numéro Interne de Classement, à quatre chiffres : c’est l’ordre de création de l’établissement par l’entreprise Française
  • une clé de contrôle, constituée d’un seul chiffre

Ce dernier est calculé à l’aide de l’algorithme de Luhn. Cet algorithme est aussi utilisé pour valider les numéros de carte bleue, et de nombreux identifiants distribués par les administrations de beaucoup de pays. Nous allons nous en servir pour vérifier la validité de SIRETs en l’implémentant spécifiquement pour ce type d’identifiant.

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

Sauvegardes de bases de données et envoi d’email avec SQL Server Express

Windows Server Update Services (WSUS) est une application qui permet de gérer et distribuer les patch que Microsoft publie pour ses produits. Elle est supportée par SQL Server Express (with Adanced Services), et de ce fait :

  • On ne dispose pas de l’Agent SQL Server
  • On ne peut pas utiliser des plans de maintenance pour gérer les sauvegardes
  • On ne peut pas envoyer d’emails
  • La compression des fichiers de backup, introduite avec SQL Server 2008, n’est pas prise en charge

Si donc on souhaite planifier les sauvegardes de base de données, et envoyer un email en cas d’échec, on peut :

  • Remplacer un job de l’Agent SQL Server par une tâche du Planificateur de Tâches de Windows
  • Écrire une procédure stockée d’assembly pour envoyer des emails

Cet article détaille les étapes à suivre pour ce faire.
Lire la suite

SSDT-BI et SSDT : ou l’un, ou l’autre, et aussi les deux !

SQL Server Business Intelligence Studio a été remplacé par SQL Server Data Tools (SSDT).

SSDT a été mis en ligne pour la première fois pour Visual Studio 2010, qu’il installait en mode Shell. Cette version n’est maintenant plus disponible, mais on la trouve bien entendu pour Visual Studio 2012 (fr/en) et 2013 (fr/en).

Ce dernier est en fait décliné en deux opus, l’un dédié à la Business Intelligence, abrévié en SSDT-BI, et l’autre SSDT tout court. Les deux versions installent toujours Visual Studio en mode Shell, mais la version BI n’installe pas les composants nécessaires au développement d’un projet d’assembly SQL Server. Et inversement.

J’avais donc installé SSDT-BI 2012 sans noter que le projet de type SQL Server n’était pas présent. J’ai donc installé SSDT 2012 (téléchargeable ici en version 2012 et 2013), et j’ai maintenant ce qui me manquait :

Bon développement SQL Server !

Déçu par IntelliSense ? Essayez Devart dbForge SQL Complete !

Si vous utilisez SQL Server Management Studio (SSMS) de façon assez intensive, vous avez probablement trouvé que la fonctionnalité IntelliSense de ce dernier souffre de lacunes pour le moins désagréables à l’usage. Parmi celles-ci, on trouve l’impossibilité de chercher une table suivant un mot que son nom contient, ou encore un manque notable sur le scriptage automatique des paramètres d’une procédure stockée ou d’une instruction DML.

C’est ce que à quoi remédie dbForge SQL Complete, qui remplace allègrement SSMS IntelliSense. Je vous propose ici une revue de l’édition Standard de SQL Complete, mais sachez qu’il en existe une version gratuite pour un usage non-commercial.
Lire la suite

Auditer les processus bloqués : l’événement blocked process report

SQL Server 2005 a introduit un évènement capturable par SQL Profiler et par les Notifications d’évènements, qui permet de retrouver les processus qui ont été bloqués. Avec la sortie de SQL Server 2008 et l’introduction des Évènements Étendus, il nous est également possible de capturer cet évènement.

Dans cet article, je vous propose de voir comment paramétrer SQL Server pour capturer cet évènement, puis de vous aider à interpréter le document XML qui décrit la situation de blocage.
Lire la suite