SQL Server(バージョン2016以降)上のTDEでバックアップ圧縮がどのように機能するかについて、誰かが(内部で)知識を持っていますか?.
一般に、暗号化されたデータの圧縮にはほとんどメリットがないと思いますが、TDEを使用すると、圧縮を使用してフルバックアップを実行しても、バックアップファイルのサイズが大幅に減少することがわかります。そのため、バックアッププロセスでデータが復号化され、圧縮され、その結果が暗号化されてから、ディスクにバックアップされるのかどうか疑問に思いました。データを復号化して再暗号化する必要があるため、バックアッププロセスのCPU消費が増えることは明らかです。
詳細
select @@version
Microsoft SQL Server 2017(RTM)-14.0.1000.169(X64)2017年8月22日17:04:49 Copyright(C)2017 Microsoft Corporation Developer Edition(64-bit)on Windows 10 Enterprise 10.0(Build 17763:)(Hypervisor) '
TSQL Scipt
バックアップデータベースTestTDE TO DISK = 'c:\ Test\TestTDE_Compressed.bak' WITH COMPRESSION、MAXTRANSFERSIZE = 65537
または、別の方法で省スペースを実現していますか?
そのため、バックアッププロセスでデータが復号化され、圧縮され、その結果が暗号化されてから、ディスクにバックアップされるのかどうか疑問に思いました。
これがまさに省スペースを実現する方法です。バックアッププロセスの実行ページが復号化されてメモリに読み込まれると、圧縮されてから暗号化されてディスクに保存されます。プロセスは Backup TSQL Doc で説明されています
SQL Server 2016(13.x)以降、これにより、TDE暗号化データベースの最適化された圧縮アルゴリズムが可能になり、最初にページを復号化して圧縮し、次に再度暗号化します。
ここでは、TDEデータベースでバックアップ圧縮を使用して十分な距離を得ているので、最新のSPおよびCUにパッチを適用したSQL Server 2016を使用している必要があると想定しています。読むことを強くお勧めします TDE対応データベースのバックアップ圧縮
SQL Server 2017
を使用していて、TSQLスクリプトがMAXTRANSFERSIZE> 65536
を使用しているため、TDE対応データベースのバックアップ圧縮の利点が得られます。ただし、パッチを適用することを強くお勧めします SQL Server 2017から最新のC