Kürzlich haben wir eine neue Version von SQL Sentry Plan Explorer veröffentlicht, die die Möglichkeit zum Hochladen von Plänen auf unsere neue Q&A-Website, answers.SQLPerformance.com, hinzufügt, wo Experten für Ausführungspläne bei der Analyse helfen und Feedback zur Verbesserung der Leistung geben können (oder zumindest Hilfe beim Verständnis).
Ich habe über diese Funktion gebloggt und erwähnt, dass es Fälle geben kann, in denen Sie vertrauliche oder geschützte Informationen schützen möchten – dies kann der Schutz des geistigen Eigentums Ihres Unternehmens, Informationen über Ihren Arbeitgeber oder Ihre Branche oder sogar Ihre Identität sein.
Jonathan Kehayias (Blog | @SQLPoolBoy) von SQLskills hat ein kostenloses PowerShell-Skript veröffentlicht, mit dem Sie alle Ihre Datenbank-, Objekt-, Tabellen-, Index- und Spaltennamen maskieren können. Das Skript steht hier zusammen mit weiteren Hintergrundinformationen zum Download bereit:
http://www.sqlskills.com/blogs/jonathan/execution-plan-sanitizer-v2/
Das Ausführen des Skripts ist einfach – wenn Sie das Skript nach Namen aufrufen, werden Sie zur Eingabe eines Dateinamens aufgefordert (z. B. C:\wherever\MyPlan.sqlplan
) und erstellt eine bereinigte Version im selben Ordner mit dem Namen MyPlan_Cleaned.sqlplan
. Sobald Sie das getan haben, wird es einen Plan wie diesen umwandeln:
In einen viel weniger sensiblen Plan wie diesen:
Es funktioniert derzeit nur mit .sqlplan-Dateien. Wenn Sie also einen Plan im Plan-Explorer haben, müssen Sie ihn als .sqlplan speichern, im Gegensatz zu .queryanalysis oder .pesession, bevor Sie ihn bereinigen. Das bedeutet, dass Sie einige der zusätzlichen Informationen verlieren, die der Plan Explorer offenlegt, aber solange Sie die Originalkopie behalten, können Sie sie während der laufenden Diskussion verwenden, um Laufzeitmetriken zuzuordnen, bereinigte Entitätsnamen zu korrelieren usw. P>
Nun, dieser Rat gilt nicht nur für diese Site und nicht nur für Plan Explorer – Sie können dieses Skript verwenden, um jeden .sqlplan zu verschleiern, den Sie (ähm) irgendwo öffentlich oder anderweitig verteilen möchten, ohne die Informationen, die Sie benötigen für sich behalten wollen.
Das heißt, Plan Explorer wird haben Sie bald die Möglichkeit, Ihre Pläne zu verschleiern, egal ob Sie sie als .sqlplan, .queryanalysis oder .pesession speichern oder sie direkt auf answers.SQLPerformance.com hochladen. Halten Sie also Ihren Versionsprüfer aktiv. :-)