Sql-Server
從伺服器中刪除 TDE
我已經從我的伺服器中刪除了透明數據加密 (TDE),刪除了密鑰並將數據庫切換到Simple,縮小了日誌,然後又回到了Full。
LOG 備份現在和完整備份一樣小,但刪除 TDE 後主 mdf 文件的大小仍然相同。
這是正常的嗎?有沒有辦法讓這些恢復到 TDE 之前的狀態?
我知道 MDF 文件將保持相同大小,直到您縮小它們,但我預計內部可用空間會顯著增加,但事實並非如此。TDE 似乎使它們的大小增加了一倍。
是的,這很正常。
AUTO SHRINK
只有當您打開並且文件中有可用空間時,SQL Server 才會自動減小數據文件的大小。不建議使用此設置,因為它會引入大量碎片並消耗大量 IO 資源。您可以使用
DBCC SHRINKDATABASE
. 請參閱此處了解更多資訊。這會引入碎片,但可以通過重建索引來修復。恕我直言,主要考慮因素是:
- 你能忍受數據庫的目前大小嗎?如果是,那麼縮小可能不值得付出努力。
- 您是否有足夠長的維護視窗來縮小和修復碎片?您可以通過將備份恢復到類似的指定機器並執行該過程來測試此過程。
如果您有任何列儲存索引,目前收縮數據庫將失敗。如果您想盡可能地縮小數據庫,則需要刪除這些。
答案最初留在評論中
TDE 並不總是將數據文件大小加倍。由於加密後的數據格式,它會增加。但根據原始數據類型和大小,您可能擁有更大(雙)或稍大的數據文件。
如果您在 TDE 之前的數據已經不是高度可壓縮的和/或處於接近密文大小的某個大小,則擴展不會那麼重要(它永遠不會是零擴展)。
為您的大表重建索引,以確保您處於所需的頁面密度。– SQLmojoe