Database
 sql >> Database >  >> RDS >> Database

Offusca i dati sensibili nei tuoi piani di esecuzione

Di recente abbiamo rilasciato una nuova versione di SQL Sentry Plan Explorer, aggiungendo la possibilità di caricare piani nel nostro nuovo sito di domande e risposte, answer.SQLPerformance.com, dove gli esperti del piano di esecuzione possono assistere con l'analisi e fornire feedback sul miglioramento delle prestazioni (o almeno aiutare con la comprensione).

Ho scritto sul blog su questa funzione e ho menzionato che potrebbero esserci casi in cui desideri proteggere informazioni riservate o proprietarie, ad esempio per proteggere l'IP della tua azienda, le informazioni sul tuo datore di lavoro o settore o persino la tua identità.

Jonathan Kehayias (blog | @SQLPoolBoy) di SQLskills ha rilasciato uno script PowerShell gratuito che puoi utilizzare per mascherare tutti i nomi di database, oggetti, tabelle, indici e colonne. Lo script è disponibile per il download qui, insieme ad altro background:

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

L'esecuzione dello script è semplice:invocando lo script per nome verrà richiesto un nome file (ad esempio C:\wherever\MyPlan.sqlplan ), e produrrà una versione disinfettata nella stessa cartella denominata MyPlan_Cleaned.sqlplan . Dopo averlo fatto, si trasformerà in un piano come questo:

In un piano molto meno sensibile, come questo:

Attualmente funziona solo con file .sqlplan, quindi se hai un piano in Plan Explorer, dovrai salvarlo come .sqlplan anziché .queryanalysis o .pesession prima di disinfettarlo. Ciò significa che perderai alcune delle informazioni aggiuntive che Plan Explorer espone, ma finché conserverai la copia originale, potrai utilizzarla per eseguire il mapping alle metriche di runtime, correlare i nomi di entità disinfettati, ecc. durante la discussione in corso.

Ora, questo consiglio non è solo per questo sito, e non solo per Plan Explorer:puoi usare questo script per offuscare qualsiasi .sqlplan che prevedi (ehm) di distribuire ovunque, pubblicamente o in altro modo, senza nessuna delle informazioni che farai vuoi tenerti per te.

Detto questo, Plan Explorer lo farà presto avrai la possibilità di offuscare i tuoi piani, sia che li salvi come .sqlplan, .queryanalysis o .pesession, sia che li carichi direttamente su answer.SQLPerformance.com. Quindi mantieni attivo il tuo controllo della versione. :-)