sql >> Databasteknik >  >> RDS >> Database

Fördunkla känsliga uppgifter i dina genomförandeplaner

Nyligen släppte vi en ny version av SQL Sentry Plan Explorer, som lägger till möjligheten att ladda upp planer till vår nya Q &A-sajt, answers.SQLPerformance.com, där exekveringar av exekveringsplaner kan hjälpa till med analys och ge feedback om hur man förbättrar prestanda (eller åtminstone hjälp med att förstå).

Jag har bloggat om den här funktionen och nämnt att det kan finnas fall där du vill skydda känslig eller proprietär information – det kan vara för att skydda ditt företags IP, information om din arbetsgivare eller bransch, eller till och med din identitet.

Jonathan Kehayias (blogg | @SQLPoolBoy) från SQLskills släppte ett gratis PowerShell-skript som du kan använda för att maskera alla dina databas-, objekt-, tabell-, index- och kolumnnamn. Skriptet är tillgängligt för nedladdning här, tillsammans med lite mer bakgrund:

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

Att köra skriptet är enkelt – att anropa skriptet med namn kommer att uppmana dig att ange ett filnamn (säg C:\wherever\MyPlan.sqlplan ), och kommer att producera en sanerad version i samma mapp som heter MyPlan_Cleaned.sqlplan . När du har gjort det kommer det att vända en plan så här:

In i en mycket mindre känslig plan, så här:

Det fungerar för närvarande bara med .sqlplan-filer, så om du har en plan i Plan Explorer, måste du spara den som en .sqlplan i motsats till .queryanalysis eller .pesession innan du sanerar den. Detta innebär att du kommer att förlora en del av den ytterligare information som Plan Explorer avslöjar, men så länge du behåller originalkopian kan du använda den för att mappa tillbaka till körtidsmätningar, korrelera sanerade enheters namn, etc. under den pågående diskussionen.

Nu är det här rådet inte bara för den här webbplatsen, och inte bara om Plan Explorer – du kan använda det här skriptet för att fördunkla alla .sqlplan som du planerar (ahem) att distribuera var som helst, offentligt eller på annat sätt, utan någon av informationen du kommer att få. vill hålla för dig själv.

Som sagt, Plan Explorer kommer snart har möjligheten att fördunkla dina planer, oavsett om du sparar dem som .sqlplan, .queryanalysis eller .pesession, eller laddar upp dem direkt till answers.SQLPerformance.com. Så håll din versionskontroll aktiv. :-)


  1. Vad är den här operatorn <=> i MySQL?

  2. Välj alla månader inom ett visst datumintervall, inklusive de med 0-värden

  3. Hur man felsöker MySQL-definieringsproblem

  4. Få storleken på alla databaser i PostgreSQL (psql)