Převod SQL na BAK
Převod nekomprimovaného textového skriptu SQL na optimalizovaný nativní soubor zálohy databáze zmenšuje velikost úložiště a zrychluje dobu obnovy serveru.
Porovnání formátů a technické specifikace
| Specifikace | SQL | BAK |
|---|---|---|
| MIME typ | text/ | application/ |
| Typ | skript relačního schématu a dotazů | archiv zálohy databáze |
| Komprese | žádná (prostý textový skript DDL/DML) | nativní komprese zálohy MS SQL |
| Standardní specifikace | Standard SQL ISO/IEC 9075 | Architektura zálohování Microsoft SQL Server |
| Hlavička souboru (Magic bytes) | 2D 2D (--) or CREATE TABLE SQL statement | Microsoft SQL Server Backup / Generic Database dump headers |
Přehled formátu a použití
Administrátoři databází se často potýkají s výpisy skriptů SQL při přenosu dat mezi různými značkami databází nebo při ruční kontrole schémat tabulek. Tyto textové skripty obsahují příkazy SQL jako CREATE TABLE a INSERT INTO zapsané v prostém, člověkem snadno čitelném textu. Ačkoliv je tento textový formát snadno čitelný, zabírá mnoho místa na pevném disku a databázovému stroji trvá dlouho, než jej provede řádek po řádku. Změna prostého textového skriptu na nativní soubor zálohy databáze řeší tyto problémy s rychlostí a úložištěm. Podnikové servery čtou binární archiv zálohy přímo do paměti, aniž by musely analyzovat miliony jednotlivých textových příkazů. Tuto migrační cestu využívají systémoví administrátoři připravující produkční prostředí, spravující rozsáhlé migrace serverů a nastavující plány automatizované noční údržby.
Technické specifikace a přehled kodeků
Výpis skriptu SQL používá typ MIME text/plain a skládá se výhradně ze znaků kódovaných v ASCII nebo UTF-8 bez jakýchkoliv binárních magických bajtů nebo komprese. Naproti tomu soubor zálohy databáze používá typ MIME application/octet-stream a jde o proprietární binární kontejnerový formát vytvořený databázovými stroji, jako je Microsoft SQL Server. Struktura souboru BAK seskupuje data do datových stránek o pevné velikosti 8 KB a často používá nativní kompresi záloh MS SQL pomocí algoritmů jako MS-Xpress nebo LZO. Toto binární balení zachovává přesné indexování, struktury transakčních protokolů a metadata při současném vynechání velké zátěže procesoru nutné pro parsování tokenů textového skriptu.
Kompatibilita s operačními systémy a prohlížeči
Výpisy skriptů SQL lze otevřít v libovolném textovém editoru nebo databázovém klientovi v systémech Windows, macOS, Linux, Android a iOS a spouštět je v libovolném webovém prohlížeči pomocí vývojářských nástrojů. Soubory zálohy databáze vyžadují specifický software pro správu databází, jako je Microsoft SQL Server Management Studio ve Windows nebo podnikové databázové nástroje spuštěné v distribucích serveru Linux. Webové prohlížeče nedokážou nativně číst ani zpracovávat binární archivy BAK. Podpora se také liší podle aplikace, zařízení, operačního systému a jeho verze.
Užitečné informace
Před spuštěním importu vždy ověřte kódování znaků zdrojového textového skriptu, abyste zabránili poškození speciálních znaků v konečném archivu zálohy databáze.
Často kladené otázky
Jak převést výpis skriptu SQL na zálohu databáze bez ztráty kvality?
Obnovení databázové zálohy ze skriptu SQL závisí na cílovém databázovém stroji a nástrojích pro export a import. Některé funkce specifické pro daný stroj se nemusí přenést přímo, proto obnovenou databázi ověřte v cílovém stroji.
Jaký je rozdíl mezi výpisem skriptu SQL a zálohou databáze?
Výpis skriptu SQL je nekomprimovaný soubor v prostém textu obsahující sekvenční dotazy SQL, které je nutné parsovat a provádět jeden po druhém. Záloha databáze je proprietární binární archiv optimalizovaný pro databázový stroj, který obsahuje surové datové stránky, vestavěnou kompresi a indexy pro rychlou obnovu.