SQL Compression backup with TDE
Posted by Simon Cho on 01/10/2018
SQL Compression backup wasn’t work before SQL 2016.
<SQL Server 2014 and below>
https://msdn.microsoft.com/library/bb934049(SQL.120).aspx
Encrypted data compresses significantly less than equivalent unencrypted data. If TDE is used to encrypt a database, backup compression will not be able to significantly compress the backup storage. Therefore, using TDE and backup compression together is not recommended.
<After SQL server 2016 and above>
It could work with special command.!
It is important to know that while backing up a TDE-enable database, the compression will kick in ONLY if MAXTRANSFERSIZE is specified in the BACKUP command. Moreover, the value of MAXTRANSFERSIZE must be greater than 65536 (64 KB). The minimum value of the MAXTRANSFERSIZE parameter is 65536, and if you specify MAXTRANSFERSIZE = 65536 in the BACKUP command, then compression will not kick in. It must be “greater than” 65536. In fact, 65537 will do just good. It is recommended that you determine your optimum MAXTRANSFERSIZE through testing, based on your workload and storage subsystem. The default value of MAXTRANSFERSIZE for most devices is 1 MB, however, if you rely on the default, and skip specifying MAXTRANSFERSIZE explicitly in your BACKUP command, compression will be skipped.
Please Note :
Update April 6th, 2017
We have recently discovered some issues related to the use of TDE and backup compression in SQL Server 2016. While we fix them, here are some tips to help you avoid running into those known issues:
- Currently it is not advisable to use striped backups with TDE and backup compression
- If your database has virtual log files (VLFs) larger than 4GB then do not use backup compression with TDE for your log backups. If you don’t know what a VLF is, start here.
- Avoid using WITH INIT for now when working with TDE and backup compression. Instead, for now you can use WITH FORMAT.
Leave a Reply