The power of auto increment…

Ma jó kis mókában volt részem… valahogy egy adatbázis elcsesződött, és nekem kellett helyreállítanom.

Természetesen emberi hiba volt: egy pár napos backupot valaki visszaállított az élesre. Néhány nap adata elveszett, öröm bódottá.

Aztán a tettes a nyomait elrejtendő fogta a tegnapi mentést, és abból hozott vissza adatokat napközben, működés közben, de csak két táblát, és sima insert into... selecttel.

Mondanom sem kell, volt itt eredményként minden… többszörözött sorok, identity mezők elmásztak, az ügyfél szívrohamhoz hasonló állapotban hívott.

Nehezítve volt azzal, hogy ehhez nem csak ők irodán belül fértek hozzá, hanem egy webfelület segítségével a saját ügyfeleik is. Természetesen mindenki csak a saját adataihoz, amik most szalmakazalszerűen tartalmaztak mindent, olyat is, amit nem szabadna látniuk.

Első lépésként leállítottam a felületet és kizártam mindenkit az adatbázisból.

Második lépésként lementettem az aktuális állapotot.

A harmadik lépés egyszerű: tegnapi mentést visszaállítottam, amiben ugyan még mindig volt egy pár napos gap, de legalább nem volt összehányva.

Negyedik lépésként visszaállítottam a mai backupot egy másik adatbázisban, és a mai ténykedésüket áthúztam az élesbe.

Aztán jött a neheze, a mai rekordokban a foreign key-ket helyrehozni. Szerencsére nem volt sok adat és volt mire támaszkodni, mert vannak doksik PDF-ben, amikből vissza tudtam olvasni, mi történt.

Még hátra van a pár napos gap feltöltése a közben létrehozott backupokból, de ez már a holnapi munka lesz…