La procédure stockée master.sys.sp_helpindex, décrivant les index d’une table, fournit par Microsoft, est aujourd’hui fortement obsolète et Microsoft n’a pas souhaité donné suite aux demandes de modification (1). Voici une procédure inspirée de cette dernière bien plus complète et prenant en compte tous les types d’index (spatiaux, XML, columstore, fulltext).
Lire la suite
Archives pour la catégorie SQL Server 2016
Audit trail générique
L’ « audit trail », littéralement « piste d’audit » est un audit destiné à pister les événements qui se passe dans un système. Dans une base de données, il est, la plupart du temps, destiné à vérifier ce qui s’est passé, notamment sur le plan des valeurs avant ou après la modification. Il peut à la fois servir pour la sécurité (qui à fait quoi ?), comme sur le plan fonctionnel (pourquoi cette valeur ?, À quelle date un tel changement ?…).
En dehors des outils lourds comme CDC (Change Data Capture) et Change Tracking (tous deux destiné à savoir quoi, donc fonctionnel) ou Database Audit (destiné à savoir qui, donc sécurité), voici une méthode basée sur un déclencheur et une seule et unique table, facile et rapide à mettre en Å“uvre et qui permet de tracer qui et quoi…
Lire la suite
Déblocage d’une instance SQL Server bloquée
Il arrive, souvent à cause d’un mauvais développement (voir en gras italique plus loin), qu’un serveur SQL se bloque du fait des verrous. Une session en bloque autre qui en bloque plusieurs autres… et c’est l’effet boule de neige. La plupart du temps, les développeurs ou pseudo DBA réagissent mal en relaçant le service SQL Server ce qui fait perdre une grande partie des mises à jour demandées, empêchent les utilisateurs de travailler et pour peu qu’une longue transaction n’ai pas encore enregistrées les données, rend indisponible la base après le redémarrage du serveur, souvent pendant de longues minutes… Tout cela pouvant être évité avec un peu d’analyse et surtout la bonne requête que je vous présente, destinées à débloquer sans frustrer !
Lire la suite
Génération d’un « rétro script » d’insertion
Il est souvent intéressant de générer les commande « INSERT » relatives aux lignes d’une table existante, ceci par exemple afin de procéder à des essais, des tests ou encore pour illustrer des posts sur developpez.com ou d’autres forums afin de faciliter ceux qui tente de vous répondre avec de vraies données. La procédure qui est publiée ci-dessous permet de générer ces lignes d’insertion depuis n’importe quelle base de votre instance SQL Server.
Lire la suite
Calcul de la « bouding box » appropriée pour l’indexation spatiale
SQL Server dispose d’index spatiaux qui nécessitent l’utilisation d’une « bounding box » pour le type geometry. Une « bounding box » est en fait un rectangle qui délimite la surface à indexer. Mais comment déterminer les limites de cette « boite » ? Cet article vous propose une procédure stockée capable de calculer les meilleurs paramètres de ces « bounding box » et vous donne le code de création des index spatiaux à ajouter à votre base.
Lire la suite
LIKE ‘%mot%’ ou les index rotatifs….
Qui n’a jamais rêvé d’obtenir des performances pour rechercher des mots partiels contenus dans d’autres mots, comme par exemple tous les mots contenant « bolo » ? Dans un dictionnaire de 128 918 mots, une telle recherche met moins de 50 millisecondes à l’aide des index rotatifs, contre ??? pour le LIKE ‘%bolo%’… Explications…
Lire la suite
Qui est leader dans les bases de données en 2016 ?
Selon l’étude 2016 du groupe Gartner au sujet des bases de données opérationnelles d’entreprise (OPDBMS), Microsoft est le n°1 sur les deux axes de mesure : facilité d’utilisation et visionnaire.
Microsoft détient l’un des systèmes de bases de données relationnelles les mieux conçu, les plus utilisés et le plus fiable avec SQL Server, incorporant un moteur « in memory » (IMDBMS).
Mais il se trouve que Microsoft est aussi le numéro deux du cloud derrière Amazon (Azure SQL Database).
Il offre aussi différentes technologies complémentaire de type NoSQL avec Azure DocumentDB (un SGBD de type « document ») et Azure Tables (un SGBDR de type paire clef/valeur).
Très présent dans le cloud, y compris de manière hybride (une base SQL Serveur locale peut avoir une partie de ses données dans le cloud via le concept de « stretch tables« ), Microsoft offre aussi de nombreuses possibilité analytiques ou mobile.
Pour la troisième année consécutive Mictrosoft est numéro 2 en part de marché sur le plan financier, derrière Oracle dont le Gartner Group a remonté comme point négatif de l’étude, les problèmes de coûts, de complexité de licences et noté un rapport qualité prix jugé négatif par les clients.
Mais ce qui fait la force de Microsoft depuis toujours, et celle en particulier de ses solutions de bases de données, c’est la facilité d’utilisation (l’un des meilleurs scores de l’étude) et de migration de version (80% des clients ont trouvés que la migration des bases était plus facile que prévue ou autant que prévu)…
Les seuls problèmes pointés du doigt de manière négatives par le Gartner Group sont exclusivement celles liées au marketing, canaux de vente et distribution des solutions Microsoft ou l’éditeur reste encore perçut par certains comme un acteurs pour de petites solutions…
Finalement aucune critique technique ni financière ne vient ternir l’image d’excellence de Microsoft dans le domaines des bases de données d’entreprise ce qui tend à prouver que ce classement de leader est largement mérité !
***
Expert S.G.B.D relationnelles et langage S.Q.L
Moste Valuable Professionnal Microsoft SQL Server
Société SQLspot : modélisation, conseil, formation,
optimisation, audit, tuning, administration SGBDR
Enseignant: CNAM PACA, ISEN Toulon, CESI Aix en Prov.
L’entreprise SQL Spot
Le site web sur le SQL et les SGBDR
SQL Server 2014 – les ressources du livre
Notre livre publié aux éditions Eyrolles en 2014 possède plusieurs ajouts dont les ressources peuvent être téléchargées…
Lire la suite
Détecter les index obèses
Voici en complément des 20 requêtes pour auditer la qualité de votre modèle de données (voir 20 requêtes pour auditer la qualité de votre modèle de données) une requête destinée à déceler les index obèses (c’est à dire, ceux ayant trop de colonnes dans leur définition.
Lire la suite
20 requêtes pour auditer la qualité de la structure de votre base de données
Voici 20 requêtes permettant d’auditer la qualité de la structure de votre base de données, autrement dit son modèle.
Ces 20 requêtes sont le fruit de mon expérience à faire des audits de bases de données et de serveurs SQL depuis maintenant plus de quinze ans.