「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は、エンクレーブを使用するAlways Encryptedのパフォーマンスに関する情報の出力について解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。今回は動的管理ビュー「sys.dm_column_encryption_enclave」における、エンクレーブを使用する「Always Encrypted」のパフォーマンスに関する情報の出力について解説します。対応バージョンは、SQL Server 2019(15.x)以降です。
SQL Server 2016から、データをクライアント側で暗号化して、データベース側ではプレーンテキストを表示できなくするAlways Encryptedという機能が実装されました。しかし、実行できる操作は等価比較などと少なく、パターンマッチなどの高度な操作は実行できませんでした。エンクレーブを使用したAlways Encryptedでは、保護されたメモリの領域を使用して、比較演算子やパターンマッチを含むクエリを実行できます。
「sys.dm_column_encryption_enclave」では、エンクレーブを使用するAlways Encryptedのパフォーマンスに関する情報を出力します。
列名 | データ型 | 説明 |
---|---|---|
current_enclave_session_count | int | エンクレーブを使用しているクライアントセッションの現在の数 |
current_column_encryption_key_count | int | エンクレーブで現在保持されている列の暗号化キーの数 |
current_memory_size_kb | bigint | エンクレーブのメモリサイズ(KB単位) |
total_evicted_session_count | bigint | 削除されたエンクレーブセッションの数 |
下記のMicrosoftの公開情報を参考に、エンクレーブを使用するAlways Encryptedを構成しました。前提条件にも記載されていますが、SQL Serverは「Windows Server 2019 Datacenterエディション」で動作している必要があり、「Windows Server 2019 Standardエディション」では、「Set-HgsClientConfiguration」コマンドを実行する際に、「SHSモードでのこの操作の使用は、このバージョンのWindowsではサポートされていません」というエラーメッセージが出力されます(図1)。
「sys.dm_column_encryption_enclave」は「sp_configure」を使用して、「column encryption enclave type」を有効にするまで何も出力されません(図2)。
「column encryption enclave type」を有効にした後にSQL Serverを再起動して、「sys.dm_column_encryption_enclave」を実行すると、エンクレーブを使用するAlways Encryptedのパフォーマンスに関する情報が出力されました(図3)。
エンクレーブを使用する処理などを実行した後に、再度「sys.dm_column_encryption_enclave」を実行すると、セッション数やメモリサイズが変化していることが確認できます(図4)。
※本Tipsは、「Windows Server 2019」上に「SQL Server 2019」をインストールした環境を想定して解説しています。
BIPROGY株式会社(ビプロジー)所属。Microsoft MVP for Data Platform(2017〜)。入社以来 SQL Serverの評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。SQL Serverのトラブル対応で社長賞の表彰を受けた経験も持つ。休日は学生時代の仲間と市民駅伝に参加し、銭湯で汗を流してから飲み会へと流れる。
BIPROGY株式会社(ビプロジー)所属。入社以来SQL Server一筋で評価/設計/構築/教育などに携わりながらも、主にサポート業務に従事。社内のプログラミングコンテストで4回の優勝経験も持つ。趣味は輪行で週末は自転車を持っての旅行。目標は色々な日本百選を制覇すること。
Copyright © ITmedia, Inc. All Rights Reserved.