Déplacer des tables entre filegroups

Le déplacement de tables entre groupes de fichiers peut être une opération complexe à réaliser, surtout si ces tables ont des colonnes de type LOB. En effet, simplement reconstruire un index clustered ne suffit pas à déplacer les LOB. Il existe pourtant un moyen de faire ce déplacement : en utilisant le partitionnement de tables et d’index.

Voici une procédure stockée qui permet de faire ce déplacement. J’y ai fait quelques modifications par rapport à sa version originale, en particulier pour rajouter la possibilité de faire de la compression, bien utile en cas d’archivage (et disponible désormais en version standard depuis SQL Server 2016 SP1…)