Uszkodź plik SQL online
Uszkodź zrzut .sql online za darmo. Łamie strukturę instrukcji i kodowanie, więc import zawodzi zamiast wczytać częściowe dane.
- Bez wysyłania
- Bez limitu rozmiaru
- Bez rejestracji
Zepsuj swój plik SQL
Dostrojone do .sql, .dump, i tak samo dobrze działa z każdym innym formatem.
Dlaczego pliki SQL trudno zepsuć porządnie
Zrzut SQL to plik tekstowy z instrukcjami wykonywanymi po kolei. To sprawia, że częściowe uszkodzenie jest w praktyce naprawdę niebezpieczne: import może się udać przez tysiące wierszy, a potem zawieść w połowie, zostawiając bazę w niespójnym stanie. Odtworzenie tego na żądanie jest właśnie celem tego narzędzia.
Co niszczy to narzędzie
- Znaki kończące instrukcje. Średniki i znaki końca wiersza zostają nadpisane, więc instrukcje zlewają się w nieanalizowalne wejście.
- Cudzysłowy literałów tekstowych. Cudzysłowy zostają rozbite, przez co literały pozostają niedomknięte i połykają kolejne instrukcje.
- Nagłówek zrzutu. Bajty początkowe z komentarzami o wersji klienta i serwera zostają zniszczone.
- Poprawność kodowania. Nieprawidłowe sekwencje UTF-8 sprawiają, że plik zawodzi przy imporcie, zanim wykona się choć jedna instrukcja.
Co zobaczysz potem
| Aplikacja | Zachowanie |
|---|---|
mysql < dump.sql | „ERROR 1064 (42000): You have an error in your SQL syntax” i import zostaje przerwany. |
psql -f | Zgłasza nieprawidłową sekwencję bajtów dla kodowania i zatrzymuje się. |
| phpMyAdmin / Adminer | Import zawodzi z błędem składni i numerem wiersza. |
| Poziom Lekki | Import może przejść część drogi przed awarią: realistyczny scenariusz częściowego odtworzenia. |
Częste powody, by to zrobić
- Przećwiczenie odtworzenia z uszkodzonej kopii zapasowej, zanim zdarzy się naprawdę.
- Weryfikacja, że import działa w transakcji i czysto się wycofuje przy awarii.
- Sprawdzenie, że narzędzie migracji zgłasza wadliwą instrukcję, zamiast kontynuować.
- Pokazanie, dlaczego kopie zapasowe trzeba weryfikować, a nie tylko wykonywać.
Jak zepsuć plik SQL
- Przeciągnij plik .sql na pole powyżej albo kliknij, aby wybrać.
- Zostaw poziom Standard, chyba że chcesz uszkodzenie częściowe (Light) albo musisz pokonać oprogramowanie odzyskujące (Heavy).
- Naciśnij Zepsuj plik. Przetwarzanie odbywa się na Twoim urządzeniu, więc kończy się niemal natychmiast.
- Pobierz wynik. Domyślnie zachowuje pierwotną nazwę pliku i długość w bajtach.
Najczęstsze pytania o SQL
Czy mogę zasymulować częściowe odtworzenie?
Tak i to najbardziej przydatny przypadek. Poziom Lekki zostawia większość instrukcji nietkniętych, więc import zwykle działa przez chwilę, zanim zawiedzie, a to dokładnie ten scenariusz, który wykrywa brak obsługi transakcji.
Czy działa na skompresowanych zrzutach?
Plik .sql.gz obsługiwany jest zamiast tego jako archiwum gzip, co psuje całość naraz. Rozpakuj go wcześniej, jeśli chcesz uszkodzeń na poziomie instrukcji.
Czy zepsuje konkretną tabelę?
Nie w sposób deterministyczny: uszkodzenia są rozproszone, a nie wymierzone w nazwane obiekty.
Czy oryginalny zrzut jest zmieniany?
Nie. Uszkodzenie stosowane jest do kopii w pamięci i pobierane osobno.