SQL Internals Viewer et SQL 2008 R2

Il existe un outil très intéressant sur CodePlex pour analyser visuellement la fragmentation interne de vos fichiers MDF et NDF.

Internals Viewer for SQL Server

image

Cet outil gratuit se présente sous la forme d’un addin à Management Studio (SSMS). Il détaille toutes les pages par index.

Sauf qu’entre SQL Server 2008 et 2008 R2, il y a eu des modifications dans les API entrainant une incompatibilité (breaking change en anglais). Si vous le téléchargez, vous aurez une erreur au démarrage (No such interface supported).

Pour le faire fonctionner (sans revenir à la version précédente de Management Studio), je vous invite à télécharger le code et supprimer ces quelques lignes :

 

/*
 * Legacy Code (SQL 2005 et 2008) 
 */
//IObjectExplorerEventProvider provider = ServiceCache.GetObjectExplorer().GetService(typeof(IObjectExplorerEventProvider)) as IObjectExplorerEventProvider; 
//provider.NodesRefreshed += new NodesChangedEventHandler(Provider_NodesRefreshed); 
//provider.NodesAdded += new NodesChangedEventHandler(Provider_NodesRefreshed); 
//provider.BufferedNodesAdded += new NodesChangedEventHandler(Provider_NodesRefreshed); 

 

Il vous faudra également mettre à jour quelques références (SmoEnum qui n’existe plus par exemple ou bien le chemin vers les assemblies si vous êtes en x64). Redéployez et le tour est joué.

Evidemment, ce n’est pas la solution la plus académique mais c’est pragmatique en attendant un vrai support des Addins dans SSMS.

 

Merci à Jonathan Kehayias (SQL 2008 R2 Breaks SSMS Addins) même si ça n’a pas tout résolu Sourire.

Merci à mes partenaires de tarot qui ont supporté ma séance de débogage pendant nos parties.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s