Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Ez a cikk az SQL Server biztonsági másolatainak tömörítését ismerteti, beleértve a korlátozásokat, a tömörítési biztonsági mentések teljesítménybeli kompromisszumoit, a biztonsági mentések tömörítésének konfigurációját és a tömörítési arányt. A biztonsági mentés tömörítése az SQL Server Enterprise, Standard és Developer kiadásaiban támogatott. Az SQL Server 2008 (10.0.x) és újabb verziók minden kiadása visszaállíthatja a tömörített biztonsági mentést.
Előnyök
Mivel a tömörített biztonsági mentés kisebb, mint ugyanazon adatok tömörítetlen biztonsági mentése, a biztonsági mentés tömörítése általában kevesebb eszköz I/O-t igényel, ezért általában jelentősen növeli a biztonsági mentés sebességét.
További információ: A biztonsági másolatok tömörítésének teljesítményre gyakorolt hatása a cikk későbbi részében.
Korlátozások
A tömörített biztonsági mentésekre a következő korlátozások vonatkoznak:
A tömörített és tömörítetlen biztonsági másolatok nem létezhetnek együtt egy médiakészletben.
Az SQL Server korábbi verziói nem tudják olvasni a tömörített biztonsági másolatokat.
Az NTbackups nem tud szalagot megosztani tömörített SQL Server-biztonsági másolatokkal.
Az SQL Server 2025-ben bevezetett ZSTD-tömörítési algoritmus
Az SQL Server 2025 -től (17.x) kezdve egy új tömörítési algoritmus, a ZSTD érhető el a biztonsági mentési tömörítéshez. Ez az algoritmus gyorsabb és hatékonyabb, mint az előző MS_XPRESS algoritmus.
A ZSTD-algoritmust a következő módokon használhatja a biztonsági mentés tömörítéséhez:
- A
WITH COMPRESSION (ALGORITHM = ZSTD)tartozó BACKUP Transact-SQL parancsban a beállítás megadásával. - A biztonsági mentési tömörítési algoritmus kiszolgálói konfigurációs beállításának 3-ra állításával. Ez a beállítás az alapértelmezett biztonsági mentési tömörítési algoritmust ZSTD értékre állítja az összes olyan biztonsági mentéshez , amely ezt a
WITH COMPRESSIONbeállítást használja.
A biztonsági másolatok tömörítésének teljesítményre gyakorolt hatása
Alapértelmezés szerint a tömörítés jelentősen növeli a processzorhasználatot, és a tömörítési folyamat által felhasznált további PROCESSZOR hátrányosan befolyásolhatja az egyidejű műveleteket. Ezért érdemes lehet alacsony prioritású tömörített biztonsági másolatokat létrehozni egy olyan munkamenetben, amelynek processzorhasználatát a Resource Governor korlátozza. További információért lásd: A Resource Governor használata a CPU-használat korlátozására biztonsági mentési tömörítéssel (Transact-SQL).
Az SQL Server 2022 (16.x)-től kezdve az integrált offloading és gyorsítás használatával tömörítheti a biztonsági mentéseket, és tehermentesítheti a CPU-erőforrásokat a mentéshez.
Ha jó képet szeretne kapni a biztonsági mentés I/O teljesítményéről, elkülönítheti a biztonsági mentés I/O-ját az eszközökre vagy az eszközökről a következő teljesítményszámlálók kiértékelésével:
Windows I/O-teljesítményszámlálók, például fizikai lemezszámlálók
Az SQLServer:Backup Eszköz objektum átviteli sebességének bájt/másodperc számlálója
Az SQLServer:Databases objektum mentés/visszaállítás átvitel/sec számlálója
A Windows-számlálókkal kapcsolatos információkért tekintse meg a Windows súgóját. További információ az SQL Server-számlálók használatáról: SQL Server-objektumok használata.
Tömörített biztonsági mentés tömörítési arányának kiszámítása
A biztonsági mentés tömörítési arányának kiszámításához használja a biztonsági mentés értékeit a biztonsági mentési tábla backup_size és compressed_backup_size oszlopaiban az alábbiak szerint:
backup_size:compressed_backup_size
A 3:1 tömörítési arány például azt jelzi, hogy körülbelül 66% lemezterületet takarít meg. Ezen oszlopok lekérdezéséhez a következő Transact-SQL utasítást használhatja:
SELECT backup_size/compressed_backup_size FROM msdb..backupset;
A tömörített biztonsági mentések tömörítési aránya a tömörített adatoktól függ. Számos tényező befolyásolhatja az elért kompresszióarányt. Főbb tényezők a következők:
Az adatok típusa.
A karakteradatok más típusú adatoknál jobban tömörítenek.
Az adatok konzisztenciája az oldal sorai között.
Ha egy lap több olyan sort tartalmaz, amelyben egy mező ugyanazt az értéket tartalmazza, akkor jelentős tömörítés történhet az adott értékhez. Ezzel szemben a véletlenszerű adatokat tartalmazó vagy oldalanként csak egy nagy sort tartalmazó adatbázisok esetében a tömörített biztonsági mentések majdnem olyan nagyok, mint a tömörítetlen biztonsági másolatok.
Az adatok titkosítása
A titkosított adatok jelentősen kevesebbet tömörítenek, mint az egyenértékű titkosítatlan adatok. Ha például az adatok az oszlopszinten always encrypted vagy más alkalmazásszintű titkosítással vannak titkosítva, előfordulhat, hogy a biztonsági másolatok tömörítése nem csökkenti jelentősen a méretet.
A transzparens adattitkosítással (TDE) titkosított adatbázisok tömörítésével kapcsolatos további információkért lásd a TDE-vel végzett biztonsági mentési tömörítést.
Az adatbázis tömörítve van-e.
Ha az adatbázis tömörítve van, előfordulhat, hogy a biztonsági másolatok tömörítése egyáltalán nem csökkenti a méretüket.
Biztonsági mentés tömörítése TDE használatával
Az SQL Server 2016-tól (13.x) kezdve a MAXTRANSFERSIZE65536-nál (64 KB) nagyobbra állítás egy optimalizált tömörítési algoritmust tesz lehetővé a transzparens adattitkosítás (TDE) használatával titkosított adatbázisokhoz, amely először visszafejt egy lapot, tömöríti, majd újra titkosítja. Ha MAXTRANSFERSIZE nincs megadva, vagy ha MAXTRANSFERSIZE = 65536 (64 KB) van használatban, a TDE titkosított adatbázisokkal történő biztonsági mentéstömörítés közvetlenül tömöríti a titkosított oldalakat, és nem biztos, hogy jó tömörítési arányokat eredményez. További információ: TDE-kompatibilis adatbázisok biztonsági mentési tömörítése.
Az SQL Server 2019 (15.x) CU5-től kezdve a MAXTRANSFERSIZE beállítása már nem szükséges az optimalizált tömörítési algoritmus TDE-vel való engedélyezéséhez. Ha a biztonsági mentési parancs meg van adva WITH COMPRESSION , vagy a biztonsági mentés tömörítésének alapértelmezett kiszolgálókonfigurációja 1 értékre van állítva, MAXTRANSFERSIZE a rendszer automatikusan 128 000-re növeli az optimalizált algoritmus engedélyezéséhez. Ha MAXTRANSFERSIZE a biztonsági mentési parancs > 64K értéket tartalmaz, a megadott érték elfogadásra kerül. Más szóval az SQL Server soha nem csökkenti automatikusan az értéket, csak növeli azt. Ha egy TDE-vel titkosított adatbázisról a(z) MAXTRANSFERSIZE = 65536 használatával kell biztonsági mentést készítenie, meg kell adnia a(z) WITH NO_COMPRESSION értéket, vagy gondoskodnia kell arról, hogy a biztonsági mentés tömörítésének alapértelmezett beállítása kiszolgálóbeállítás 0 értékre legyen állítva.
További információ: BACKUP (Transact-SQL).
Figyelmeztetés
Ha az SQL Server 2019 CU5 alkalmazása után több biztonsági mentést hajt végre egyetlen biztonsági mentési adathordozón, telepítse az SQL Server 2019 CU9 -t (KB13768244) egy ismert visszaállítási probléma megoldásához. Ennek elmulasztása olyan biztonsági mentéseket eredményezhet, amelyek nem állíthatók vissza.
Az SQL Server 2019 CU9 alkalmazása után a biztonsági mentési folyamat kikényszeríti a INIT beállítást, ami megakadályozza, hogy a TDE-t használó vagy különböző adatbázistitkosítási kulcsokkal (DEK-kkal) rendelkező adatbázisok biztonsági másolatait egyetlen biztonsági mentési adathordozó-készletbe egyesítse.
A biztonsági mentési fájl helyének lefoglalása
Tömörített biztonsági mentések esetén a végső biztonsági mentési fájl mérete attól függ, hogy az adatok mennyire tömöríthetők, és ez a biztonsági mentési művelet befejeződése előtt ismeretlen. Ezért alapértelmezés szerint az adatbázis tömörítéssel történő biztonsági mentésekor az adatbázismotor egy előtelepítési algoritmust használ a biztonsági mentési fájlhoz. Ez az algoritmus előre meghatározta a biztonsági mentési fájl adatbázisának méretének egy előre meghatározott százalékát. Ha a biztonsági mentési művelet során több helyre van szükség, az adatbázismotor növeli a fájlt. Ha a végső méret kisebb, mint a lefoglalt terület, a biztonsági mentési művelet végén az adatbázismotor a fájlt a biztonsági mentés tényleges végső méretére zsugorítja.
Annak érdekében, hogy a biztonsági mentési fájl csak akkor növekedjen, amikor szükség van rá a végső méret eléréséhez, használja a 3042-es nyomjelző zászlót. A 3042-es nyomjelző miatt a mentési művelet megkerüli az alapértelmezett mentési tömörítési előfoglalási algoritmust. Ez a nyomkövetési kapcsoló akkor hasznos, ha helyet szeretne megtakarítani azzal, hogy a tömörített biztonsági mentéshez csak a ténylegesen szükséges méretet foglalja le. Ennek a nyomkövetési jelzőnek a használata azonban enyhe teljesítménybeli büntetést okozhat (a biztonsági mentési művelet időtartamának esetleges emelkedését).