Database
 sql >> Base de Dados >  >> RDS >> Database

Ofusque dados confidenciais em seus planos de execução


Recentemente, lançamos uma nova versão do SQL Sentry Plan Explorer, adicionando a capacidade de fazer upload de planos para nosso novo site de perguntas e respostas, answers.SQLPerformance.com, onde especialistas em planos de execução podem ajudar na análise e fornecer feedback sobre como melhorar o desempenho (ou pelo menos ajudar na compreensão).

Escrevi no blog sobre esse recurso e mencionei que pode haver casos em que você deseja proteger informações confidenciais ou proprietárias - isso pode ser para proteger o IP da sua empresa, informações sobre seu empregador ou setor ou até mesmo sua identidade.

Jonathan Kehayias (blog | @SQLPoolBoy) do SQLskills lançou um script PowerShell gratuito que você pode usar para mascarar todos os nomes de banco de dados, objeto, tabela, índice e coluna. O script está disponível para download aqui, junto com mais alguns antecedentes:

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

Executar o script é simples – invocar o script pelo nome solicitará um nome de arquivo (digamos C:\wherever\MyPlan.sqlplan ), e produzirá uma versão higienizada na mesma pasta chamada MyPlan_Cleaned.sqlplan . Feito isso, vai virar um plano assim:



Em um plano muito menos sensível, como este:



Atualmente, ele só funciona com arquivos .sqlplan, portanto, se você tiver um plano no Plan Explorer, precisará salvá-lo como um .sqlplan em vez de .queryanalysis ou .pesession antes de limpá-lo. Isso significa que você perderá algumas das informações adicionais que o Plan Explorer expõe, mas contanto que você mantenha a cópia original, você pode usá-la para mapear de volta para métricas de tempo de execução, correlacionar nomes de entidades higienizadas, etc. durante a discussão em andamento.

Agora, este conselho não é apenas para este site, e não apenas sobre o Plan Explorer – você pode usar este script para ofuscar qualquer .sqlplan que você planeja (ahem) distribuir em qualquer lugar, publicamente ou de outra forma, sem nenhuma das informações que você quer guardar para si.

Dito isso, o Plan Explorer vai em breve terá a capacidade de ofuscar seus planos, se você salvá-los como .sqlplan, .queryanalysis ou .pesession, ou carregá-los diretamente para answers.SQLPerformance.com. Portanto, mantenha seu verificador de versão ativo. :-)