Algorytm post臋powania w przypadku natrafienia na komunikat b艂臋du:
- Czytamy komunikat
- Pr贸bujemy go zrozumie膰
- Pr贸bujemy rozwi膮za膰 problem samodzielnie
- Je偶eli 3. si臋 nie uda艂o, szukamy rozwi膮zania w Google
- Aplikujemy znalezione rozwi膮zanie
- Koniec.
Czy powy偶szy algorytm rozwi膮zywania problem贸w z komunikatami b艂臋d贸w ma Twoim zdaniem jak膮艣 luk臋 logiczn膮?
Okazuje si臋, 偶e i owszem: mi臋dzy punktem 4 a 5 brakuje:
4.a: Znajdujemy rozwi膮zanie w Google
No ale przecie偶 tak oczywiste rzeczy, jak oddychanie, wydalanie czy znajdywanie rzeczy w Google mo偶na pomin膮膰, prawda?
Hmmm.
No to we藕my na ten przyk艂ad taki b艂膮d numer MDSERR310040:
Jak wida膰 na powy偶szym obrazku, tekstu nie znaleziono.
C贸偶, do licha? Przecie偶 to pochodzi z SQL Server 2012, a wi臋c wersji sprzed czterech lat. I nikt, naprawd臋 NIKT si臋 nie nadzia艂 na taki b艂膮d przede mn膮?
Zadziwiaj膮ce.
Ko艅cem ko艅c贸w zajrza艂em do procedury, kt贸ra ten b艂膮d generuje i wykombinowa艂em o co chodzi: pr贸bowa艂em programowo zaktualizowa膰 rekord w zatwierdzonej ("committed") wersji modelu MDS, czego si臋 robi膰 nie powinno. Zamiast grzecznie zaktualizowa膰 rekord, procedura wypluwa b艂膮d, 偶e si臋 nie da i ju偶.
W sumie gdybym przeczyta艂 uwa偶nie komunikat b艂臋du ("Data cannot be loaded into a committed version"), zamiast od razu szuka膰 kodu b艂臋du w Google, to bym MO呕E zrozumia艂, o co chodzi. Ale z wrodzonego lenistwa pomin膮艂em kroki 2 i 3 z listy powy偶ej i skoczy艂em od razu do kroku 4.
Jedyn膮 zalet膮 sytuacji jest to, 偶e od teraz ludzie b臋d膮 mogli znale藕膰 ten wpis, szukaj膮c tego konkretnego kodu b艂臋du. I - je偶eli potrafi膮 czyta膰 po polsku - mo偶e nawet go zrozumiej膮...
Dla zainteresowanych: rozwi膮zaniem problemu jest albo (1) sklonowanie modelu do nowej, niezatwierdzonej wersji lub (2) odtworzenie bazy MDS z kopii zapasowej sprzed zatwierdzenia modelu (z oczywist膮 utrat膮 wszystkich zmian od czasu wykonania tamtej kopii zapasowej) lub te偶 (3) szybka modlitwa i odkrycie r贸wnoleg艂ego 艣rodowiska MDS, ze 艣wie偶ymi danymi i niezatwierdzonym modelem, a nast臋pnie sklonowanie jej do nas. Wszystkie trzy rozwi膮zania maj膮 sporo wad i niewiele zalet. Dlatego te偶 odradzam (1) korzystania z mechanizmu wersji w MDS oraz (2) zatwierdzania jakichkolwiek modeli.
No chyba, 偶e kto艣 lubi.
Lub s膮siad.
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.