Przytrafiło mi się kiedyś brać udział w migracji niewielkiej (ale bardzo ważnej) hurtowni danych między dwiema dużymi wersjami SQL Servera.
Jak wiadomo, taka migracja to nie w kij dmuchał. Przygotowań było ze trzy miesiące. Testów, drugie tyle. Podpisów i innych etceterów - wiadomo.
Nadszedł wreszcie wiekopomny dzień przełączenia się na nowy serwer, czyli, jak mawiają lokalni, ten cudowny moment, kiedy gówno trafia w wentylator.
Teoria była prosta: wyłączyć wszystkie zadania ETL na starym serwerze, poczekać, aż się wszystkie aktualnie uruchomione zadania podokańczają, zrobić kopię wszystkich baz danych ze starego serwera i odtworzyć je na nowym, zapuścić parę skryptów SQL na nowym serwerze (żeby pozmieniać kilka rekordów z metadanymi, żeby wskazywały na nowy serwer), wreszcie włączyć wszystkie zadania ETL na nowym serwerze, wziąć filiżankę ciepłej kawy i czekać na jakieś błędy (przy tego typu akcjach nie da się uniknąć błędów i zawsze ten pierwszy dzień po przekładce serwerów jest nerwowy i dość pracowity).
Wszystkie te kroki powyżej, z wyjątkiem ostatniego (kawa) wykonaliśmy względnie bezstresowo. Okazało się, że zrobiła się późna pora, więc stwierdziliśmy, że niech to sobie bangla, rano się sprawdzi ile jest rzeczy do skorygowania.
Dzień później, z samego ranka, kiedy jutrznia ledwie musnęła majestatyczne szczyty gór... Khem, o czym to ja...
Aha, właśnie. Hurtownia danych ma system powiadamiania emailowego - jak coś się dzieje niedobrego, odpowiednie grupy osób dostają wiadomości i mogą sprawnie zareagować.
Tymczasem przychodzimy rano do pracy, a tam cisza. Ani jednej wiadomości.
Najpierw się ucieszyliśmy. Byłby to pierwszy znany nam przypadek absolutnie bezbłędnej migracji hurtowni danych. Rzecz, która przytrafia się raz w życiu, albo i rzadziej.
Potem jednak zerknęliśmy w dane i zasępiliśmy się srodze. Hurtownia miała bowiem dane z poprzedniego dnia - i żadnych danych bieżących.
Okazało się, że, taka nasza mać, nie wystarczy włączyć zadań ETL, ale trzeba jeszcze włączyć powiązane z nimi harmonogramy...
Szkolny ów błąd kosztował nas dzień nadganiania danych oraz tłumaczenia użyszkodnikom, że to tylko dzisiaj tak, i że jutro już będzie dobrze. Użyszkodników mieliśmy dobrze wytresowanych, wiedzieli z wyprzedzeniem, że tego dnia mogą być szopki, więc się nawet nie przypieprzali za bardzo.
I to już koniec kolejnej nudnej opowieści na mym blogu.
Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]
Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.