COMARCH 2026.1 – błąd „Incorrect syntax near the keyword 'IF’” po aktualizacji. Jak naprawić?

Aktualizacja do COMARCH 2026.1 u części firm kończy się błędem po stronie bazy danych Microsoft SQL Server:

Incorrect syntax near the keyword 'IF'

Najczęściej pojawia się w trakcie aktualizacji/konwersji bazy albo przy uruchamianiu modułów po podbiciu wersji. Poniżej masz sprawdzony schemat działania: co to oznacza, skąd się bierze i jak to szybko odblokować.


Objawy problemu

Najczęściej zauważysz jedno z poniższych:

  • aktualizacja do 2026.1 przerywa się na etapie wykonywania skryptów SQL,
  • konwersja bazy nie kończy się powodzeniem,
  • aplikacja uruchamia się, ale część funkcji nie działa / wysypuje się na zapytaniach SQL,
  • w logach/komunikatach instalatora widnieje: Incorrect syntax near the keyword 'IF'.

Skąd bierze się ten błąd?

Ten komunikat niemal zawsze oznacza niezgodność składni SQL w skrypcie aktualizacyjnym z wersją silnika SQL Server, na której pracuje Twoja baza.

W praktyce: COMARCH 2026.1 wykonuje skrypty, które wymagają nowszego SQL (funkcje/składnia T-SQL), a serwer bazodanowy jest zbyt stary albo nie ma wymaganych poprawek (CU).


Najszybsze rozwiązanie (rekomendowane)

1) Zaktualizuj Microsoft SQL Server do min. 2017 + poprawki CU

Wymagane minimum: SQL Server 2017 + aktualne Cumulative Update (CU).

Co warto zrobić po kolei (w skrócie, bezpiecznie):

  1. Zrób pełny backup bazy (oraz – jeśli to możliwe – snapshot VM).
  2. Sprawdź wersję SQL (na serwerze SQL, w SSMS):
    • SELECT @@VERSION;
  3. Jeżeli masz starszą wersję niż 2017 – wykonaj upgrade do SQL 2017 (lub nowszego).
  4. Po upgrade koniecznie doinstaluj aktualny CU (same „gołe” wydanie może nie wystarczyć).
  5. Uruchom ponownie usługę SQL i dopiero wtedy ponów aktualizację/konwersję COMARCH 2026.1.

Ważne: Nie rób tego „na żywca” w godzinach pracy, jeśli firma stoi na tej bazie. Zaplanuj okno serwisowe.


Gdy nadal sypie błędem – szybka ścieżka awaryjna

Jeżeli musisz pilnie przywrócić działanie systemu (np. księgowość/handel nie może stać), masz bezpieczny wariant „cofki” i ponowienia aktualizacji.

2) Cofnij się do wersji 2026.0.1, wykonaj aktualizację i konwersję, a potem wróć do 2026.1

Link do paczki:

  • 2026.0.1: https://www.ibard.com/d/ebead88f4b10a818ce8a54181f4b7d02ff8d607b#/

Procedura (logicznie, krok po kroku):

  1. Backup bazy + backup katalogów programu (minimum).
  2. Zainstaluj/uruchom wersję COMARCH 2026.0.1.
  3. Wykonaj aktualizację i konwersję bazy na 2026.0.1 (do końca, bez błędów).
  4. Dopiero po udanej konwersji przejdź ponownie na COMARCH 2026.1 i powtórz proces aktualizacji.

To podejście często „przeprowadza” bazę przez etap pośredni i redukuje ryzyko, że skrypty 2026.1 natrafią na nieprzygotowany schemat.


Checklista diagnostyczna (gdy chcesz szybko ocenić sytuację)

  • ✅ Jaka jest wersja SQL? (mniej niż 2017 = prawie pewna przyczyna)
  • ✅ Czy SQL ma aktualne CU?
  • ✅ Czy na serwerze jest SSMS i masz możliwość podglądu logów?
  • ✅ Czy masz aktualny backup bazy przed zmianami?
  • ✅ Czy konwersja bazy na 2026.0.1 przechodzi poprawnie?

Kiedy warto od razu wezwać wsparcie?

Jeżeli:

  • baza jest duża i krytyczna (produkcja/księgowość),
  • update robi się na serwerze terminalowym/klastrze,
  • masz kilka instancji SQL i nie jesteś pewien, na której pracuje COMARCH,
  • pojawiają się dodatkowe błędy w logach (timeouty, uprawnienia, blokady, uszkodzone indeksy),

…to zamiast „kręcić śrubki” na ślepo, lepiej zrobić to metodycznie.

3) Skontaktuj się z wsparciem IT DSERVE

W DSERVE możemy przejąć temat end-to-end: weryfikacja wersji SQL, backupy, upgrade SQL, poprawki CU, bezpieczna konwersja COMARCH, testy i przywrócenie dostępności.


Podsumowanie

Jeśli w COMARCH 2026.1 widzisz błąd:

Incorrect syntax near the keyword 'IF'

to najczęściej oznacza:

  1. SQL Server jest za stary lub bez CU → aktualizuj min. do SQL 2017 + CU,
  2. jeśli potrzebujesz szybkiej awaryjnej ścieżki → cofka do 2026.0.1, konwersja, potem powrót do 2026.1,
  3. gdy temat jest krytyczny → zgłoś to do wsparcia IT DSERVE.

Dodaj komentarz