Database
 sql >> Baza danych >  >> RDS >> Database

Ukryj wrażliwe dane w swoich planach realizacji

Niedawno opublikowaliśmy nową wersję SQL Sentry Plan Explorer, dodając możliwość przesyłania planów do naszej nowej witryny pytań i odpowiedzi, answer.SQLPerformance.com, gdzie eksperci ds. planów wykonania mogą pomóc w analizie i przekazać opinie na temat poprawy wydajności (lub przynajmniej pomoc w zrozumieniu).

Pisałem na blogu o tej funkcji i wspomniałem, że mogą wystąpić przypadki, w których chcesz chronić poufne lub zastrzeżone informacje – może to być ochrona adresu IP Twojej firmy, informacji o pracodawcy lub branży, a nawet Twojej tożsamości.

Jonathan Kehayias (blog | @SQLPoolBoy) z SQLskills wydał darmowy skrypt PowerShell, którego można użyć do maskowania wszystkich nazw baz danych, obiektów, tabel, indeksów i kolumn. Skrypt jest dostępny do pobrania tutaj, wraz z dodatkowymi informacjami w tle:

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

Uruchomienie skryptu jest proste – wywołanie skryptu według nazwy spowoduje wyświetlenie monitu o nazwę pliku (powiedzmy C:\wherever\MyPlan.sqlplan ) i utworzy oczyszczoną wersję w tym samym folderze o nazwie MyPlan_Cleaned.sqlplan . Gdy to zrobisz, zmieni się taki plan:

W znacznie mniej wrażliwy plan, taki jak ten:

Obecnie działa tylko z plikami .sqlplan, więc jeśli masz plan w Eksploratorze planów, musisz go zapisać jako .sqlplan, w przeciwieństwie do .queryanalysis lub .pesession przed oczyszczeniem. Oznacza to, że utracisz niektóre dodatkowe informacje, które ujawnia Eksplorator planów, ale dopóki zachowasz oryginalną kopię, możesz jej użyć do zmapowania z powrotem do metryk środowiska uruchomieniowego, skorelowania oczyszczonych nazw jednostek itp. podczas trwającej dyskusji.

Ta rada dotyczy nie tylko tej witryny, a nie tylko Eksploratora planów — możesz użyć tego skryptu do zaciemnienia dowolnego pliku .sqlplan, który planujesz (ahem) rozpowszechniać w dowolnym miejscu, publicznie lub w inny sposób, bez żadnych informacji, które będziesz chcesz pozostać dla siebie.

To powiedziawszy, Eksplorator planów będzie wkrótce będą mieć możliwość zaciemniania swoich planów, niezależnie od tego, czy zapiszesz je jako .sqlplan, .queryanalysis lub .pesession, czy też prześlesz je bezpośrednio do Answers.SQLPerformance.com. Dlatego utrzymuj aktywne sprawdzanie wersji. :-)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego warto uczyć się Cassandry z Hadoop?

  2. Progi optymalizacji — grupowanie i agregowanie danych, część 5

  3. Model bazy danych dla systemu rezerwacji szkoły nauki jazdy. Część 1

  4. Jak ponumerować wiersze w SQL

  5. Różnica między ograniczeniami w linii i poza linią