sql >> Base de Datos >  >> RDS >> Database

Ofusque los datos confidenciales en sus planes de ejecución

Recientemente lanzamos una nueva versión de SQL Sentry Plan Explorer, agregando la capacidad de cargar planes a nuestro nuevo sitio de preguntas y respuestas, answers.SQLPerformance.com, donde los expertos en planes de ejecución pueden ayudar con el análisis y proporcionar comentarios sobre cómo mejorar el rendimiento (o al menos ayuda con la comprensión).

Escribí en un blog sobre esta función y mencioné que puede haber casos en los que desee proteger la información confidencial o de propiedad; esto puede ser para proteger la IP de su empresa, información sobre su empleador o industria, o incluso su identidad.

Jonathan Kehayias (blog | @SQLPoolBoy) de SQLskills lanzó un script gratuito de PowerShell que puede usar para enmascarar todos los nombres de sus bases de datos, objetos, tablas, índices y columnas. El guión está disponible para descargar aquí, junto con más antecedentes:

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

Ejecutar el script es simple:invocar el script por nombre le pedirá un nombre de archivo (por ejemplo, C:\wherever\MyPlan.sqlplan ), y producirá una versión desinfectada en la misma carpeta llamada MyPlan_Cleaned.sqlplan . Una vez que hayas hecho eso, se convertirá en un plan como este:

En un plan mucho menos sensible, como este:

Actualmente solo funciona con archivos .sqlplan, por lo que si tiene un plan en Plan Explorer, deberá guardarlo como .sqlplan en lugar de .queryanalysis o .pesession antes de desinfectarlo. Esto significa que perderá parte de la información adicional que expone Plan Explorer, pero siempre que conserve la copia original, puede usarla para volver a mapear las métricas de tiempo de ejecución, correlacionar nombres de entidades saneados, etc. durante la discusión en curso.

Ahora, este consejo no es solo para este sitio, y no solo sobre Plan Explorer:puede usar este script para ofuscar cualquier .sqlplan que planee (ejem) distribuir en cualquier lugar, públicamente o de otra manera, sin ninguna de la información que necesitará. quieres mantenerte para ti.

Dicho esto, Plan Explorer podrá pronto podrá ofuscar sus planes, ya sea que los guarde como .sqlplan, .queryanalysis o .pesession, o los cargue directamente en answers.SQLPerformance.com. Así que mantén tu verificador de versiones activo. :-)