Pretvarač sigurnosne kopije baze podataka u SQL skriptu
Pretvaranje binarne sigurnosne kopije baze podataka u običnu tekstualnu SQL skriptu omogućuje premještanje tablica i podataka baze podataka između potpuno različitih poslužitelja baza podataka.
Usporedba formata i tehničke specifikacije
| Specifikacija | BAK | SQL |
|---|---|---|
| MIME vrsta | application/octet-stream | text/plain |
| Vrsta | database backup archive | relational schema & query script |
| Kompresija | MS SQL native backup compression | none (plain text DDL/DML script) |
| Standardna specifikacija | Microsoft SQL Server Backup Architecture | ISO/IEC 9075 SQL Standard |
| Zaglavlje čarobnih bajtova (Magic Bytes) | Microsoft SQL Server Backup / Generic Database dump headers | 2D 2D (--) or CREATE TABLE SQL statement |
Pregled formata i primjena
Administratori baza podataka i razvojni inženjeri često trebaju prenositi podatke između različitih sustava za upravljanje bazama podataka ili pregledavati točne naredbe korištene za izradu baze podataka. Standardna datoteka sigurnosne kopije zaključana je unutar vlasničkog binarnog formata vezanog uz određeni sustav poput sustava Microsoft SQL Server. Preoblikovanjem ove binarne arhive u običnu tekstualnu SQL skriptu dobivate mogućnost čitanja svake definicije tablice i retka podataka pomoću bilo kojeg uređivača teksta. Ovaj tijek rada pretvorbe koristan je prilikom migracije web-aplikacija s jednog poslužitelja na drugi ili prilikom postavljanja lokalnih razvojnih okruženja koja rade na različitom softveru baza podataka. Umjesto oslanjanja na odgovarajuću verziju poslužitelja za čitanje sigurnosne kopije, obična tekstualna skripta pruža univerzalan skup uputa. Bilo koji poslužitelj baza podataka sposoban za pokretanje standardnog SQL-a može izvršiti skriptu kako bi ponovno stvorio tablice i korak po korak umetnuo zapise.
Tehničke specifikacije i pregled kodeka
BAK datoteka koristi MIME vrstu application/octet-stream i pohranjuje binarne stranice, zapisnike transakcija i sistemske metapodatke koristeći izvorne strukture stranica sustava Microsoft SQL Server. Te datoteke često koriste interne algoritme sažimanja kako bi smanjile velike skupove podataka. Suprotno tome, SQL datoteka koristi MIME vrstu text/plain i sadrži ljudski čitljive naredbe Jezika za definiranje podataka (DDL) poput CREATE TABLE zajedno s naredbama Jezika za manipuliranje podacima (DML) poput INSERT INTO. BAK datoteke sadrže vlasnička binarna zaglavlja, dok se SQL skripte u potpunosti oslanjaju na standardno ASCII ili UTF-8 kodiranje znakova bez ikakvog izvornog sažimanja.
Kompatibilnost s OS-om i preglednikom
Datoteke SQL skripti nude gotovo univerzalnu kompatibilnost jer su u običnom tekstu. Možete ih otvoriti i uređivati u bilo kojem uređivaču teksta ili ih pokrenuti na sustavima Windows, macOS, Linux i web-alatima za upravljanje bazama podataka. BAK datoteke znatno su strože ograničene. One općenito zahtijevaju potpuno isti sustav za upravljanje bazom podataka koji ih je stvorio, kao što je Microsoft SQL Server Management Studio, što otežava višekorisničku migraciju baze podataka bez alata za pretvorbu.
💡 Korisne informacije
Obične tekstualne SQL skripte nisu sažete i zauzimaju znatno više prostora za pohranu od sažetih binarnih sigurnosnih kopija. Uvijek sažmite izlaznu SQL datoteku koristeći standardnu zip ili gzip kompresiju prije dugotrajne pohrane ili slanja putem e-pošte.
Usporedba formata i tehničke specifikacije
Baza podataka veličine 500 megabajta pohranjena kao sažeta binarna datoteka sigurnosne kopije preuzimat će se oko 10 sekundi preko brze optičke veze, otprilike 45 sekundi na 5G mreži te nekoliko minuta na standardnoj 4G mreži. Nakon pretvaranja u nesažetu SQL skriptu veličine 2 gigabajta, vrijeme prijenosa četverostruko se povećava na svim mrežama zbog veće veličine datoteke.
Često postavljana pitanja
Kako pretvoriti sigurnosnu kopiju baze podataka u izvod SQL skripte bez gubitka kvalitete?
Ova je pretvorba strogo bez gubitaka jer samo mijenjate način na koji su podaci predstavljeni. Temeljne strukture tablica, vrste stupaca i retci podataka u potpunosti su očuvani tijekom prevođenja s binarnih stranica za pohranu na SQL naredbe temeljene na tekstu.
Koja je razlika između sigurnosne kopije baze podataka i izvoda SQL skripte?
Sigurnosna kopija baze podataka vlasnička je binarna arhiva koja sadrži sirove stranice baze podataka i zapisnike transakcija optimizirane za brzi oporavak sustava. Izvod SQL skripte je obična tekstualna datoteka koja sadrži slijed čitljivih naredbi baze podataka koje rekonstruiraju shemu baze podataka i umeću podatke od nule.