Database
 sql >> Base de données >  >> RDS >> Database

Obfusquer les données sensibles dans vos plans d'exécution

Récemment, nous avons publié une nouvelle version de SQL Sentry Plan Explorer, ajoutant la possibilité de télécharger des plans sur notre nouveau site Q &A, answers.SQLPerformance.com, où les experts en plan d'exécution peuvent aider à l'analyse et fournir des commentaires sur l'amélioration des performances (ou au moins aide à la compréhension).

J'ai blogué à propos de cette fonctionnalité et mentionné qu'il peut y avoir des cas où vous souhaitez protéger des informations sensibles ou exclusives - cela peut être pour protéger la propriété intellectuelle de votre entreprise, des informations sur votre employeur ou votre secteur d'activité, ou même votre identité.

Jonathan Kehayias (blog | @SQLPoolBoy) de SQLskills a publié un script PowerShell gratuit que vous pouvez utiliser pour masquer tous vos noms de base de données, d'objets, de tables, d'index et de colonnes. Le script est disponible en téléchargement ici, avec quelques informations supplémentaires :

http://www.sqlskills.com/blogs/jonathan/execution-plan-sanitizer-v2/

L'exécution du script est simple - invoquer le script par son nom vous demandera un nom de fichier (par exemple C:\wherever\MyPlan.sqlplan ), et produira une version épurée dans le même dossier appelé MyPlan_Cleaned.sqlplan . Une fois que vous avez fait cela, cela transformera un plan comme celui-ci :

Dans un plan beaucoup moins sensible, comme celui-ci :

Il ne fonctionne actuellement qu'avec les fichiers .sqlplan, donc si vous avez un plan dans Plan Explorer, vous devrez l'enregistrer en tant que .sqlplan par opposition à .queryanalysis ou .pesession avant de le nettoyer. Cela signifie que vous perdrez certaines des informations supplémentaires exposées par Plan Explorer, mais tant que vous conservez la copie d'origine, vous pouvez l'utiliser pour mapper les métriques d'exécution, corréler les noms d'entités nettoyées, etc. pendant la discussion en cours.

Maintenant, ce conseil n'est pas seulement pour ce site, et pas seulement pour Plan Explorer - vous pouvez utiliser ce script pour obscurcir tout .sqlplan que vous prévoyez (ahem) de distribuer n'importe où, publiquement ou autrement, sans aucune des informations que vous aurez veux garder pour toi.

Cela dit, Plan Explorer sera aurez bientôt la possibilité d'obscurcir vos plans, que vous les enregistriez sous .sqlplan, .queryanalysis ou .pesession, ou que vous les téléchargiez directement sur answers.SQLPerformance.com. Gardez donc votre vérificateur de version actif. :-)