Skocz do zawartości

błąd składniowy w poleceniu

Polecane posty

Dzień dobry

W zeszłym tygodniu po awarii zasilania i nagłym wyłączeniu serwera z subiektem doszło do zniknięcia podmiotu produkcyjnego z listy podmiotów. W programie serwisowym ponowne podłączenie podmiotu nie było możliwe (komunikat informował, że podmiot jest już uruchomiony). W SQL Server Management Studio w Databases przy podmiocie (Suspend). Po przeszukaniu w panice, bo firma stoi, internetów znalazłem poniższy kod:

EXEC sp_resetstatus [podmiot];
ALTER DATABASE [podmiot] SET EMERGENCY
DBCC checkdb([podmiot])
ALTER DATABASE [podmiot] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ([podmiot], REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE [podmiot] SET MULTI_USER

pomogło, podmiot wrócił i niby wszystko ok.

Jednak od wczoraj, przy próbie zapisu jakiegokolwiek dokumentu poza ZK i ZD, zawierającego jeden konkretny towar pojawia się dymek z komunikatem "błąd składniowy w poleceniu". Jak na razie wiem o występowaniu tego problemu przy jednym towarze, ale mamy w kartotece ponad 14tys i nie jest wykluczone, że takich generujących błąd jest więcej.

Czy ktoś spotkał się z podobną sytuacją?

pozdrawiam

Marcin

Link to postu
16 minut temu, Marcin Kuźmicki napisał:

Czy ktoś spotkał się z podobną sytuacją?

Tak, często się spotykam z takimi problemami. Naprawa bazy danych NIE jest taka prosta jak się wydaje, opisane kroki naprawią jedynie uszkodzenia fizyczne, a dokładnie usuną uszkodzone dane, ale NIE naprawią logicznych (niespójność danych), polecam jak najszybciej skorzystać z usług doświadczonego serwisanta lub usługi teleKonsultanta.

Ponadto polecam zabezpieczyć się na przyszłość przed najczęstszą przyczyną uszkodzeń bazy danych - nieoczkiwanym wyłączeniem komputera przy zaniku zasilania - służą do tego zasilacze awaryjne UPS.

Link to postu

Należy zacząć od początku (od naprawy uszkodzonej bazy danych), aby dowiedzieć się jakie obszary bazy danych / dane / tabele zostały uszkodzone, w zależności od tego proces naprawy może być relatywnie prosty, pracochłonny (godziny), po tak zwane "nie ma czego zbierać" (w przypadku uszkodzenia dokumentów, ruchów magazynowych i rozrachunków)...

Nie proponowałem własnych usług, gdyż ze względu na brak czasu nie podejmę się tak potencjalnie czasochłonnego zlecenia, a okres jest bardzo pracowity.

Jeszcze pytanie - dlaczego nie zostało odtworzone archiwum sprzed awarii i wprowadzone brakujące dokumenty (w tym ich przeniesienie z uszkodzonej bazy danych), jest to często relatywnie najszybszy i najprostszy sposób na kontynuację pracy ? Może jest to jeszcze możliwe chociaż minął tydzień czasu ?

Link to postu
18 minut temu, Daniel Kozłowski napisał:

Jeszcze pytanie - dlaczego nie zostało odtworzone archiwum sprzed awarii i wprowadzone brakujące dokumenty (w tym ich przeniesienie z uszkodzonej bazy danych), jest to często relatywnie najszybszy i najprostszy sposób na kontynuację pracy ? Może jest to jeszcze możliwe chociaż minął tydzień czasu ?

Archiwizacje wykonują się raz na dobę w godzinach nocnych, a do zdarzenia doszło w połowie dnia roboczego. Ilość dokumentów do przywrócenia grubo ponad setka. Program wydawał się działać poprawnie, nie sygnalizował żadnych błędów. Teraz wiem, że to była błędna decyzja. Niestety nie mam już archiwizacji sprzed zdarzenia.

Link to postu
4 godziny temu, Marcin Kuźmicki napisał:

Ilość dokumentów do przywrócenia grubo ponad setka.

To niewiele dokumentów, jest epp, kilkanaście, może trochę więcej czasu na przeniesienie dokumentów.

 

4 godziny temu, Marcin Kuźmicki napisał:

Program wydawał się działać poprawnie, nie sygnalizował żadnych błędów. Teraz wiem, że to była błędna decyzja.

Należy być pewnym tego co się robi, w innym przypadku są duże szanse, że zrobimy sobie krzywdę - w tym przypadku problem ujawnił się zaledwie po tygodniu, ale często uszkodzenia baz danych ujawniają się po kilku miesiącach, a nawet latach i jest wielkie zdziwienie bo nikt nie pamięta zdarzeń sprzed takiego okresu, i nie widzi związku... Serwer bazy danych nie sprawdza na bieżąco spójności bazy/baz danych, problem ujawnia się dopiero wtedy, kiedy nastąpi próba odczytu lub zapisu w uszkodzonym obszarze (na przykład przy aktualizacji programu i konwersji bazy danych), dlatego po każdej podejrzanym zdarzeniu należy sprawdzić, czy nie doszło do uszkodzenia danych.

 

4 godziny temu, Marcin Kuźmicki napisał:

Niestety nie mam już archiwizacji sprzed zdarzenia.

Też nie rozumiem, to przecież zaledwie tydzień, archiwa przechowuje się zwykle za dużo dłuższe okresy.

Link to postu

Dziękuję za wszystkie pouczenia. Z pewnością są słuszne, ale w żaden sposób nie pomagają w rozwiązaniu mojego problemu. Zatem czy jest coś co mogę wykonać sam, aby zlokalizować błędy i naprawić bazę? Czy może jest szansa, aby podniesienie Subiekta do wyższej wersji (nie pracujemy na najnowszej) doprowadziło na samonaprawy?  A może jest tu ktoś z odpowiednim doświadczeniem, kto podejmie się czynności naprawczych?

Link to postu
2 godziny temu, Marcin Kuźmicki napisał:

Dziękuję za wszystkie pouczenia. Z pewnością są słuszne, ale w żaden sposób nie pomagają w rozwiązaniu mojego problemu.

W pierwszej odpowiedzi podałem możliwe rozwiązania, skoro z nich Pan nie skorzystał, to nie dziwne, że nie pomogły w rozwiązaniu problemu, nie będę Pana do niczego zmuszał...

Ktoś zdecydował, gdzie zostały zakupione programy i w jaki sposób będą serwisowane - pozwalam sobie na "pouczenia", gdyż jest to forum, nie odpowiadam tylko i wyłącznie Panu, na pewno wątek ten przeczyta wielu użytkowników, być może komuś pozwoli to uniknąć opisywanych problemów - na tym właśnie polega duża część naszej pracy serwisantów, na profilaktyce i unikaniu problemów, a nie tylko usuwaniu ich skutków.

 

3 godziny temu, Marcin Kuźmicki napisał:

Zatem czy jest coś co mogę wykonać sam, aby zlokalizować błędy i naprawić bazę?

Nie jestem w stanie ocenić Pana kompetencji, nie ma magicznego przycisku "napraw", kierunek poszukiwań podał Pan Paweł Szczygieł, więc jeśli pomimo tych informacji zadaje Pan takie pytanie to jednoznacznie nasuwa się odpowiedź - nie.

 

3 godziny temu, Marcin Kuźmicki napisał:

Czy może jest szansa, aby podniesienie Subiekta do wyższej wersji (nie pracujemy na najnowszej) doprowadziło na samonaprawy? 

No nie mogę mieć pewności bez analizy problemu, a szacując to szanse są minimalne, praktycznie pewne jest to, że stanie się to, co opisałem wyżej - kolejne konwersje mogę się nie udać lub problem objawi się w innym obszarze po miesiącach/latach.

 

3 godziny temu, Marcin Kuźmicki napisał:

A może jest tu ktoś z odpowiednim doświadczeniem, kto podejmie się czynności naprawczych?

Proszę cierpliwie czekać na odpowiedź, jeśli będzie taka osoba, to się z Panem skontaktuje.

Link to postu
×
×
  • Dodaj nową pozycję...