Archives pour la catégorie SQL Server 2016

Métadonnées des index (sp__helpindex)

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

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

Magic Quadrant for Operational Database Management Systems 2016

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.

Source : Gartner - Magic Quadrant for Operational Database Management Systems 2016

Source : Gartner – Magic Quadrant for Operational Database Management Systems 2016

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é !

***

Frédéric Brouard, alias SQLpro, ARCHITECTE DE DONNÉES
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

MVP Microsoft SQL
Server

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.

Lire la suite