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)a BACKUP Transact-SQL parancsban a opció 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 processzorok hátrányosan befolyásolhatják 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 a kapott tömörítési 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 kezdve (13.x) a 65536-nál (64 KB) nagyobb 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-titkosított adatbázisról MAXTRANSFERSIZE = 65536kell biztonsági másolatot készítenie, meg kell adnia WITH NO_COMPRESSION, vagy meg kell győződnie arról, hogy a biztonsági mentés tömörítésének alapértelmezett kiszolgálókonfigurációja 0 értékre van á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 jelző akkor hasznos, ha helyet kell mentenie a tömörített biztonsági mentéshez szükséges tényleges méret kiosztásával. 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).
Kapcsolódó tevékenységek
Következő lépések
biztonsági mentés áttekintése (SQL Server)
Nyomkövetési jelzők beállítása a DBCC TRACEON használatával (Transact-SQL)