For nylig udgav vi en ny version af SQL Sentry Plan Explorer, der tilføjer muligheden for at uploade planer til vores nye Q &A-side, answers.SQLPerformance.com, hvor eksekveringsplaneksperter kan hjælpe med analyse og give feedback om forbedring af ydeevnen (eller i det mindste hjælp til forståelse).
Jeg har blogget om denne funktion og nævnt, at der kan være tilfælde, hvor du ønsker at beskytte følsomme eller proprietære oplysninger – det kan være for at beskytte din virksomheds IP, oplysninger om din arbejdsgiver eller branche eller endda din identitet.
Jonathan Kehayias (blog | @SQLPoolBoy) fra SQLskills udgav et gratis PowerShell-script, som du kan bruge til at maskere alle dine database-, objekt-, tabel-, indeks- og kolonnenavne. Scriptet er tilgængeligt til download her sammen med lidt mere baggrund:
http://www.sqlskills.com/blogs/jonathan/execution-plan-sanitizer-v2/
Det er nemt at køre scriptet – ved at kalde scriptet ved navn vil du blive bedt om et filnavn (sig C:\wherever\MyPlan.sqlplan
), og vil producere en desinficeret version i den samme mappe kaldet MyPlan_Cleaned.sqlplan
. Når du har gjort det, vil det ændre en plan som denne:
Ind i en meget mindre følsom plan, som denne:
Det virker i øjeblikket kun med .sqlplan-filer, så hvis du har en plan i Plan Explorer, skal du gemme den som en .sqlplan i modsætning til .queryanalysis eller .pesession, før du renser den. Det betyder, at du vil miste nogle af de yderligere oplysninger, som Plan Explorer afslører, men så længe du beholder den originale kopi, kan du bruge den til at kortlægge tilbage til runtime-metrics, korrelere desinfektionsnavne osv. under den igangværende diskussion.
Nu er dette råd ikke kun for dette websted, og ikke kun om Plan Explorer - du kan bruge dette script til at sløre enhver .sqlplan, som du planlægger (ahem) at distribuere overalt, offentligt eller på anden måde, uden nogen af de oplysninger, du vil ønsker at holde for dig selv.
Når det er sagt, vil Plan Explorer snart har mulighed for at sløre dine planer, uanset om du gemmer dem som .sqlplan, .queryanalysis eller .pesession, eller uploader dem direkte til answers.SQLPerformance.com. Så hold din versionskontrol aktiv. :-)