SQL Server 2016: TRUNCATE PARTITIONS et scénarios Sliding Window

Mis en avant

Il y a quelques temps, j’ai eu à gérer un scénario de partitionnement incluant une gestion sliding Window pour principalement des besoins d’archivage. Concernant le contexte client, j’ai utilisé des scripts de gestion automatique composée d’une étape de suppression de la partition la plus ancienne. Dans ce contexte précis, les données au delà de 2 ans peuvent être supprimées et généralement dans ce cas, j’utilise une méthode consistant à supprimer les données en les déplaçant depuis la partition la plus ancienne vers une table de staging. Ensuite je les supprime en utilisant la commande TRUNCATE. Finalement, nous pouvons à ce moment précis fusionner en tout sécurité les données de la partition la plus ancienne en évitant un quelconque mouvement de données. Au premier coup d’œil, le processus semble complexe mais jusqu’à la version 2014, il n’y avait pas de meilleur choix pour minimiser l’enregistrement des opérations dans le journal.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

Switch partition et inconsistance de métadonnées

Mis en avant

Dans ce billet, je voudrais partager un bien étrange problème auquel j’ai été confronté lors d’une implémentation de partition en mode sliding Windows avec SQL Server 2014 SP1.
Pour situer rapidement le contexte, l’idée était de pouvoir stocker pendant 2 ans les enregistrements d’audit de plusieurs instances SQL Server dans une table d’archive globale. Les données au delà de 2 ans devaient être supprimées. Sur la base d’une première implémentation, nous avons estimé une taille globale de 800GB par année …

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

Changement une partition existante … pas si facile que cela

Mis en avant

Cette fois, parlons d’un cas client intéressant avec une table partitionnée de 100 GB sous SQL Server 2014. Dans ce contexte, le partitionnement avait pour objectif de sauvegarder de l’espace disque (données d’archives compressées), aider à réduire les temps de maintenance ainsi et les ressources consommées (utilisation des opérations d’index et de statistiques à la partition). Par la même occasion, cela aidera à améliorer les performances de requête sur la table concernée qui se concentre uniquement que sur les commandes récentes des clients.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server