Sql-Server-2012

為啟用 TDE 的數據庫壓縮備份是否安全?

  • February 17, 2021

我已經閱讀了很長時間,並且當數據庫啟用了 TDE 時壓縮備份似乎不安全。

是否有人在使用 tde 數據庫的壓縮備份進行還原時遇到錯誤?

我從來沒有遇到過這種錯誤,但我真的很擔心。

似乎問題出在 SQL SERVER 2016 上,並且由於我使用的是 2012,所以我看不到任何問題。

此外,即使使用MAXTRANSFERSIZE = 131072備份也不壓縮。會是什麼呢?我正在使用NO CHECKSUM並且WITH CHECKSUM兩者都具有相同的尺寸。

我已經閱讀了很長時間,並且當數據庫啟用了 TDE 時壓縮備份似乎不安全。

你問安全所以回答。將備份壓縮與 TDE 一起使用是安全的,而且我一直在使用它。對於 SQL Server 2014 及以下版本,效果不佳的是 SQL Server 2016 以下版本所獲得的備份壓縮里程(壓縮量)不是很好,讓我說與在未啟用 TDE 的數據庫上進行備份壓縮。來自 Andrew Sayer 共享的 Docs ( Backup compression with TDE

從 SQL Server 2016 開始

從 SQL Server 2016 (13.x) 開始,將 MAXTRANSFERSIZE 設置為大於 65536 (64 KB) 可為透明數據加密 (TDE) 加密數據庫啟用優化的壓縮算法,該算法首先解密頁面,對其進行壓縮,然後再次對其進行加密。如果未指定 MAXTRANSFERSIZE,或者如果使用 MAXTRANSFERSIZE = 65536 (64 KB),則使用 TDE 加密數據庫的備份壓縮會直接壓縮加密頁面,並且可能不會產生良好的壓縮率。

從 SQL Server 2019 開始

從 SQL Server 2019 (15.x) CU5 開始,不再需要設置 MAXTRANSFERSIZE 來啟用此優化的 TDE 壓縮算法。如果備份命令指定了 WITH COMPRESSION 或者備份壓縮預設伺服器配置設置為 1,則 MAXTRANSFESIZE 會自動增加到 128K 以啟用優化算法

是否有人在使用 tde 數據庫的壓縮備份進行還原時遇到錯誤?

顯示錯誤,您必須在沒有證書的情況下恢復啟用 TDE 的數據庫。我的最佳猜測

您至少需要使用 SQL Server 2016 才能正確壓縮 TDE 數據庫的備份,即使如此,您也需要使用maxtransfersize. 此限制已在 SQL Server 2019 的 CU 5 中修復。

請參閱文件https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/backup-compression-sql-server?view=sql-server-ver15#backup-compression-with-tde

引用自:https://dba.stackexchange.com/questions/285546