sql >> Database >  >> RDS >> Database

Verdoezel gevoelige gegevens in uw uitvoeringsplannen

Onlangs hebben we een nieuwe versie van SQL Sentry Plan Explorer uitgebracht, waarmee we de mogelijkheid hebben toegevoegd om plannen te uploaden naar onze nieuwe Q &A-site, Answers.SQLPerformance.com, waar deskundigen op het gebied van uitvoeringsplan kunnen helpen bij analyse en feedback kunnen geven over het verbeteren van de prestaties (of op zijn minst hulp bij begrip).

Ik heb over deze functie geblogd en vermeld dat er gevallen kunnen zijn waarin u gevoelige of bedrijfseigen informatie wilt beschermen - dit kan zijn om de IP van uw bedrijf, informatie over uw werkgever of branche of zelfs uw identiteit te beschermen.

Jonathan Kehayias (blog | @SQLPoolBoy) van SQLskills heeft een gratis PowerShell-script uitgebracht dat u kunt gebruiken om al uw database-, object-, tabel-, index- en kolomnamen te maskeren. Het script kan hier worden gedownload, samen met wat meer achtergrondinformatie:

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

Het uitvoeren van het script is eenvoudig:als u het script op naam aanroept, wordt u om een ​​bestandsnaam gevraagd (zeg C:\wherever\MyPlan.sqlplan ), en zal een opgeschoonde versie produceren in dezelfde map genaamd MyPlan_Cleaned.sqlplan . Als je dat eenmaal hebt gedaan, wordt een plan als volgt:

In een veel minder gevoelig plan, zoals dit:

Het werkt momenteel alleen met .sqlplan-bestanden, dus als je een plan hebt in Plan Explorer, moet je het opslaan als een .sqlplan in plaats van .queryanalysis of .pesession voordat je het opruimt. Dit betekent dat u een deel van de aanvullende informatie verliest die Plan Explorer onthult, maar zolang u de originele kopie bewaart, kunt u deze gebruiken om terug te verwijzen naar runtime-statistieken, gesaneerde entiteitsnamen te correleren, enz. tijdens de lopende discussie.

Dit advies is niet alleen voor deze site, en niet alleen voor Plan Explorer - je kunt dit script gebruiken om elk .sqlplan dat je van plan bent (ahem) overal te verspreiden, openbaar of anderszins, te verdoezelen zonder de informatie die je nodig hebt. voor jezelf wilt houden.

Dat gezegd hebbende, Plan Explorer zal hebben binnenkort de mogelijkheid om uw plannen te verdoezelen, of u ze nu opslaat als .sqlplan, .queryanalysis of .pesession, of ze rechtstreeks uploadt naar answer.SQLPerformance.com. Houd uw versiecontrole dus actief. :-)


  1. Kopieer gegevens naar een nieuwe tabel in MySQL

  2. SQL-query van meerdere waarden in één cel

  3. Hoe de IF/ELSE-instructie te gebruiken om een ​​nieuw xml-knooppuntitem in Sql bij te werken of te maken

  4. MySQL-trigger na update alleen als rij is gewijzigd