sql >> データベース >  >> RDS >> Database

実行計画の機密データを難読化する

    最近、SQL Sentry Plan Explorerの新しいバージョンをリリースし、新しいQ&Aサイトanswers.SQLPerformance.comにプランをアップロードする機能を追加しました。このサイトでは、実行プランの専門家が分析を支援し、パフォーマンスの向上に関するフィードバックを提供できます(または少なくとも理解に役立ちます。

    この機能についてブログを書きましたが、機密情報や専有情報を保護したい場合があると述べました。これは、会社のIP、雇用主や業界に関する情報、さらには身元を保護するためです。

    SQLskillsのJonathanKehayias(ブログ| @SQLPoolBoy)は、データベース、オブジェクト、テーブル、インデックス、および列の名前をすべてマスクするために使用できる無料のPowerShellスクリプトをリリースしました。スクリプトは、いくつかの背景とともに、ここからダウンロードできます:

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

    スクリプトの実行は簡単です。名前でスクリプトを呼び出すと、ファイル名の入力を求められます(たとえば、C:\wherever\MyPlan.sqlplan )、MyPlan_Cleaned.sqlplanという同じフォルダにサニタイズされたバージョンを生成します 。それが完了すると、次のような計画になります。

    このように、はるかに機密性の低い計画に:

    現在、.sqlplanファイルでのみ機能するため、プランエクスプローラーにプランがある場合は、サニタイズする前に、.queryanalysisや.pesessionではなく.sqlplanとして保存する必要があります。つまり、Plan Explorerが公開する追加情報の一部が失われますが、元のコピーを保持している限り、それを使用して実行時の指標にマップし直したり、進行中のディスカッション中にサニタイズされたエンティティ名を関連付けたりすることができます。

    さて、このアドバイスはこのサイトだけのものではなく、プランエクスプローラーだけのものでもありません。このスクリプトを使用して、公開するかどうかに関係なく、どこにでも配布する予定の.sqlplanを難読化できます。自分を守りたい。

    そうは言っても、プランエクスプローラーは プランを.sqlplan、.queryanalysis、または.pesessionとして保存するか、answers.SQLPerformance.comに直接アップロードするかにかかわらず、すぐにプランをわかりにくくすることができます。したがって、バージョンチェッカーをアクティブにしてください。 :-)


    1. 階層的に定義されたデータセットのフラット化されたテーブル/ビューの作成

    2. KGXGNポーリングエラー(15)

    3. オンライン調査のためのデータベースモデル。パート3

    4. MariaDBAXを使用した分析-tTheOpenSource Columnar Datastore