データベースの暗号化がオンになっている場合、ストアド プロシージャとインライン クエリにパフォーマンスの違いがあるかどうか疑問に思っています。
はいの場合、パフォーマンスが良いときと悪いときを説明していただけますか?
データベースの暗号化がオンになっている場合、ストアド プロシージャとインライン クエリにパフォーマンスの違いがあるかどうか疑問に思っています。
はいの場合、パフォーマンスが良いときと悪いときを説明していただけますか?
SQL2008 での DBA の経験から、エンド ユーザーのパフォーマンスへの影響はほとんどありません。その理由は次のとおりです。
暗号化は、データベース ファイル (.DBF) およびバックアップへの書き込みおよび読み取り時にのみ行われます。データがメモリに格納されると、データは暗号化されず、クエリは通常と同じ速度で実行されます。
SQL 2005 では暗号化プロセス全体が厄介で、顕著なパフォーマンスの低下がありましたが、SQL 2008 では、テーブルまたはデータベース全体を暗号化するプロセスに数分しかかかりません (そして、指示に従うのは簡単です - http:// msdn.microsoft.com/en-us/library/cc278098(v=sql.100).aspx )。
このプロセスは、基本的に次の 3 つの手順で行います。
暗号化されているデータベースは、データベース ファイルが暗号化された形式で書き直されている間、1 ~ 2 分間シングル ユーザー モードに切り替わりますが、それほど時間はかかりません。たとえば、50GB のファイルの変換には、せいぜい数分かかります。
頑張ってください。証明書のキーをなくさないようにしてください。バックアップから復元したり、MDF ファイルを別のサーバーに移動したりする必要がある場合は、証明書ファイルがないと困るからです。(心配しないでください。すべて、私がリストした MS ドキュメントに詳しく説明されています)。
@AnandPhadke - ミッチが意味したのは、オーバーヘッドがあるということです。暗号化と復号化を行う必要があるため、これらの操作のいずれかが行われるたびにオーバーヘッドが発生します。
ソフトウェア SQL Server 2008 の Enterprise および Developer エディションには、Transparent Data Encryption (TDE) の新しいセキュリティ機能が含まれています。これは、SQL Server の最適化において、全体的なパフォーマンスにわずかに悪影響を及ぼします。3~5%程度です。ただし、ほとんどのデータがメモリに格納されている場合、影響は少なくなります。
出典: SQL Server の最適化と暗号化のパフォーマンスへの影響
「SQL Server のインスタンス上の他のデータベースが TDE を使用して暗号化されている場合、tempdb システム データベースは暗号化されます。これは、SQL Server の同じインスタンス上の暗号化されていないデータベースのパフォーマンスに影響を与える可能性があります。tempdb システム データベースの詳細については、tempdb データベースを参照してください。」</p>
ソース:透過的データ暗号化 (TDE)