web-dev-qa-db-fra.com

Internes de la compression de sauvegarde avec TDE (SQL Server)

Quelqu'un a-t-il (à l'intérieur?) Des connaissances sur le fonctionnement de la compression de sauvegarde avec TDE sur SQL Server (version 2016+).

En général, je m'attendrais à ce que la compression des données chiffrées présente un avantage minimal, mais nous remarquons qu'avec TDE, lorsque nous effectuons une sauvegarde complète avec la compression, nous constatons toujours une réduction significative de la taille du fichier de sauvegarde. Cela nous a fait nous demander si le processus de sauvegarde déchiffre les données, les compresse, chiffre ces résultats, puis les sauvegarde sur disque. De toute évidence, cela va augmenter la consommation du processeur pour le processus de sauvegarde en raison de la nécessité de décrypter et rechiffrer les données.

Détails

select @@version

Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) 22 août 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Developer Edition (64 bits) sur Windows 10 Enterprise 10.0 (Build 17763:) (Hyperviseur) '

TSQL Scipt

BASE DE DONNÉES DE SAUVEGARDE TestTDE TO DISK = 'c:\Test\TestTDE_Compressed.bak' AVEC COMPRESSION, MAXTRANSFERSIZE = 65537

Ou l'économie de l'espace est-elle réalisée d'une manière différente?

8
Matthew McGiffen

Cela nous a fait nous demander si le processus de sauvegarde déchiffre les données, les compresse, chiffre ces résultats, puis les sauvegarde sur disque.

C'est exactement comme cela que l'espace est réalisé. Lorsque la page d'exécution du processus de sauvegarde est déchiffrée et chargée en mémoire, puis compressée, puis chiffrée et enregistrée sur le disque. Le processus est mentionné dans Backup TSQL Doc

À partir de SQL Server 2016 (13.x), cela active un algorithme de compression optimisé pour les bases de données chiffrées TDE qui décrypte d'abord une page, la compresse puis la crypte à nouveau.

Je suppose ici que puisque vous obtenez un bon kilométrage avec la compression de sauvegarde sur la base de données TDE, vous devez utiliser SQL Server 2016 corrigé au dernier SP et CU. Je vous suggère fortement de lire Compression de sauvegarde pour la base de données activée par TDE

Puisque vous utilisez SQL Server 2017 et votre script TSQL utilise MAXTRANSFERSIZE> 65536 vous bénéficierez de la compression de sauvegarde pour la base de données compatible TDE. Mais je vous suggère fortement de patcher SQL Server 2017 à la dernière C

10
Shanky