Le challenge 34 est arrivé. Il s’agit de rechercher dans une chaîne de caractères un motif composé de 2 mots avec une distance maximum d’un mot.
Histoire d’index : Stockage interne des index avec colonnes incluses
Un collègue m’a demandé il y a quelques temps, quelle était la différence entre un index non cluster classique et un index non cluster avec colonnes incluses ? Cette question est venue suite à la création de ce type d’index (avec colonnes incluses) pour couvrir certaines colonnes demandées par une requête et éviter ainsi une recherche par pointeur sur l’index cluster qui pouvait être contre performant dans ce cas car elle concernait une table très volumineuse. Dans ce billet, on verra quelle est la différence entre ces deux types d’index et comment SQL Server stocke en interne les index avec colonnes incluses.
Histoire d’index : Stockage interne des index filtrés avec SQL Server
Les index filtrés ont été introduit à partir de la version SQL Server 2008. Il existe déjà un certain nombre d’exemples qui illustrent leur intérêt et je vous invite à les regarder si cela n’est déjà fait (voir le billet d’Elsuket). Mais qu’en est il du stockage ? En effet la question peut sembler légitime car les index filtrés ne comportent que les lignes de données qui correspondant à sa définition. Nous verrons comment SQL Server gère ces index en interne.
Histoire de stockage : Stockage interne d’une ligne de données avec SQL Server (part 1)
Le dump d’une page de données SQL Server est plutôt indigeste à lire lorsqu’il s’agit de lire les lignes de données présentes dans la page. Je me suis amusé à regarder s’il était possible de pouvoir déchiffrer cet agglomérat de valeurs hexadécimales. Avec de la documentation et un peu d’entrainement on y arrive et on apprend tout un tas de choses surprenantes.
Etudier l’activité I/O des fichiers de bases de données
Durant mes audits, j’ai vu un certain nombre de fois où le(s) sous système(s) disque(s) étai(en)t une des causes principales de problèmes de performances. J’ai eu quelques fois à refaire le plan de répartition des fichiers de bases de données ainsi que l’architecture disque sous jacente qui n’était pas optimale. Pour pouvoir réaliser cette tâche, il est préférable de connaître les caractéristiques d’entrées / sorties appliquées aux fichiers de bases de données et implicitement au(x) sous système(s) disque(s) qui les hébergent. Le script suivant permet de réaliser cette tâche.
TSQL CHALLENGE 33
Le challenge 33 est arrivé. Celui-ci concerne un problème intéressant qui traite de la quantité de données à exclure au lieu de les inclure pour une fois. Il est ici question d’un système où les clients réservent un service et le payent en une ou plusieurs transactions qui peuvent être effectuées à différentes dates .
SQL Server PowerShell : Récupérer la volumétrie globale des serveurs SQL
Un collègue qui est chargé de rationnaliser les processus d’entreprises autour des serveurs de bases de données m’a demandé s’il était possible de connaître la volumétrie de chaque serveur SQL Server en terme d’espace disque et la volumétrie globale de l’ensemble de ces serveurs. L’idée ici est d’avoir une idée de la volumétrie d’espace disque pour chaque technologie de bases de données (SQL Server et Oracle notamment). Je vous propose ici un script PowerShell permettant de réaliser cette tâche.
SQL Server PowerShell : Comment récupérer rapidement les informations générales d’une liste de serveurs
Il y a peu de temps j’ai dû effectué un audit sur un ensemble de serveurs SQL. Autant vous dire que j’ai essayé d’optimiser certaines tâches comme la récupération de certaines données générales du serveur comme les processeurs, la mémoire, les disques et le système d’exploitation. Voici un script Powershell qui permet de récupérer ces informations rapidement !!
SQL Server PowerShell : Activer désactiver certains protocoles SQL Server
Sur certaines éditions de SQL Server, l’activation du protocole TCPIP requiert une action manuelle. Voici un script powershell qui peut être intégré à une installation automatique et qui active le protocole TCPIP d’une part et désactive les canaux nommés d’autre part.
Histoire de sauvegarde : Le mode de récupération BULK LOGGED
Le mode de récupération BULK LOGGED n’est pas le mode le plus utilisé avec SQL Server. Ce mode est pratique lorsqu’il s’agit de journaliser au minimum certains traitements ou certaines opérations de maintenance comme les reconstructions d’index par exemple. Ces opérations ont tendance à augmenter de façon importante la taille du journal des transactions. Dans ce billet j’expliquerai les processus internes lorsque ce mode de récupération est utilisé.