Ich möchte hier mal eine vorläufige Version meiner neuesten Entwicklung vorstellen: 8)
SQLsplit 0.91
SQLsplit (ein Kommandozeilentool) teilt große
SQL-Dateien in mehrere kleinere auf und achtet dabei darauf, nur an Stellen zu trennen, an denen dies zulässig ist. Man kann einstellen, ob man nach dem Erreichen eines Dateigrößen- und/oder Zeilen-Limits trennen möchte.
Aber wozu ist das gut?
Wenn man z.B. über phpMyAdmin ein Datenbank-Backup anfertigt, kann man sehr schnell eine sehr große Datei bekommen (bei meinem Forum mit ca. 100 Usern und 4500 Einträgen ca. 12 MB). Dumps in dieser Größe wieder in das System einzuspielen grenzt an Unmöglichkeit, da es (mindestens) einen limitierenden Faktor gibt:
Das Datenbanksystem muss die Daten innerhalb einer bestimmten Zeit in den Datenbestand einpflegen können, sonst schlägt ein Timeout im Browser und/oder Server zu. Zudem kann es passieren, dass der Browser einen so großen Upload nicht verkraftet und abstürzt.
SQLsplit erzeugt kleinere, gut zu handhabende Dateien aus dem großen Backup, so dass alle beteiligten Softwaresysteme gut damit zurecht kommen.
Hier der Hilfe-Screen:
Code:
Usage:
sqlsplit [-sn] [-ln] filename
-sn set n to the maximum [s]ize for one output file in kb
-ln set n to the maximum number of [l]ines in one output file
Example: If you want to split c:\input.sql to output files not exceeding 50kb and 1000 lines, use: 'sqlsplit -s50 -l1000 c:\input.sql'
Note: Output files will be written to the folder containing the input file.
Download:
http://braincode.abi2005er.de/SQLsplit.exe (<100kb)