Kritikus hiba történt az 1c frissítés során. Hiba: "Kritikus hiba történt az információs bázis frissítési folyamata során." C, az infobázis konfigurációjának visszaállítása MS SQL használatával

19.11.2019 hírek

Új szerverre költöztünk. SQL-t és 1C-t futtat. A régiekhez képest sokkal menőbb volt. És Gilev tesztje is ezt igazolta: a régi szervereken 10-15 ellenében 39-et adott. Ezért a vásárlás után azonnal átvittük az adatbázist és elkezdtük a munkát.

De valamikor valami elromlott - a felhasználók panaszkodni kezdtek lassú munka. Elvégeztük a szerver és a szolgáltatások bizonyos beállításait (melyek egy külön bejegyzés témája), és úgy döntöttünk, hogy újraindítjuk a szervert, szerencsére az újraindítási sebesség 2 perc volt (más szervereken 10-ig). Ezt követően az 1C-be bejelentkezve a következő üzenetet kapjuk:

"Figyelem!!! Hiba történt az adatok frissítése során az utolsó átalakítás után. Ismételjem meg a frissítést? "Nem igazán"

Az "Igen" gombra kattintás után a következő jelenik meg:

„Hiányos konfiguráció mentési műveletet észleltünk. A folytatáshoz be kell fejeznie a műveletet."

Az első dolog, amit úgy döntöttem, hogy CHECKDB-t csinálok a Managment Studio-ban - 2 óra várakozás után (500 GB adatbázis) - minden rendben volt.

Az interneten találtam olyan információt, hogy dinamikus frissítés során ugyanez a hiba lép fel.

Az online javasolt megoldások nem segítettek azonnal, de más akciókkal együtt eredményt hoztak. Szóval amit csináltam:

Megoldás:

  1. Ami hiányzott a hálózatból származó megoldásokhoz:

sp_configure 'frissítések engedélyezése', 1
konfigurálja újra felülbírálással
megy

2. Állítsa az adatbázist helyreállítási módba

adatbázis-készlet módosítása EMERGENCY, SINGLE_USER

3. Adatbázis tesztelést végzünk:

dbcc checkdb('db_name', REPAIR_ALLOW_DATA_LOSS)

4. Lépjen ki az adatbázisból helyreállítási módból:

adatbázis-készlet módosítása ONLINE, MULTI_USER

5. Elvileg, ha biztos vagy benne, hogy magával az alappal minden rendben van, akkor nem kell a 2-4. Ezután két lekérdezést futtatunk az SQL-profilozóban:

törlés a konfigurációból ahol FileName = 'commit'
törölje a konfigurációból, ahol FileName = 'dbStruFinal'

Ezek a rekordok felelősek a dinamikus frissítésért – nem kell félnie a törlésüktől.

Az adatbázis lekérdezések működő verzióiban:

válassza ki a *-ot a Config-ból WHERE FileName = 'commit'

válassza ki a * elemet a konfigurációból WHERE FileName = 'dbStruFinal'

üres lesz.

6. állítsa vissza a beállításokat:

sp_configure 'frissítések engedélyezése', 0
megy

7. Ezt követően sikerült elindítani a konfigurátort és az adatbázis működni kezdett.

Ezenkívül az alap elkezdhet működni az első zászló eltávolítása után.

Amikor az 1C:Enterprise alkalmazásban dolgozik, a következő üzenet jelenhet meg: „To work with új verzió 1C: A vállalkozásoknak átalakulniuk kell információs bázis" Miért jelenik meg ez az ablak, és hogyan tudom megoldani a hibát?

A legtöbb esetben az ablak megjelenésének oka a program nemrégiben történt átállása elavult verzió platformokat egy újabbra. Különböző platformokon információs bázis 1C a maga módján formálódik és más összetételt vesz fel. Nem kell mást tenni, mint az adatbázist (amelynek szerkezete megfelel az elavult platformnak) a legújabb formátumra konvertálni.

Adatbázis átalakítás

Ez az eljárás egyszerű, azonban először ajánlott létrehozni biztonsági másolat alap, ha hiba történik az átalakítás során (például a számítógép kikapcsol, ami információs bázis 1C, mint maga a program, megsérülhet). Ezután alkalmazza a következő műveleti algoritmust:

  • Nyissa meg az adatbázist konfigurátor módban;
  • Megjelenik egy üzenet, amely arra kéri, hogy konvertálja az információs bázist. Kattintson a megerősítésre;

  • Zárja be a konfigurátort.

Nyissa meg az adatbázist - gond nélkül el kell indulnia. Ha a hibaablak továbbra is megjelenik az átalakítás után, megpróbálhatja újra az eljárást. Ha ez nem segít, lépjen kapcsolatba egy 1C programozóval. Előfordulhat, hogy a program lefagy egy művelet végrehajtása közben. Jelenleg nincs szükség semmilyen lépésre.

Fontos! Információs bázis 1C, átalakítva legújabb verzió a programok nem nyithatók meg a korábbi verziókon.

Sandbox

hatóság 2013. szeptember 18-án 15:24-kor

1C, infobázis konfiguráció helyreállítása MS SQL használatával

Egy alkalommal problémába ütköztem: a konfiguráció frissítésekor a tárolóból hiba történt, és az 1C bezárult.

Mint utóbb kiderült, a konfigurációs tároló megsemmisült és a konfiguráció frissítésekor az adatbázis konfigurációt is törölték a tárhelyről. Hasonló hiba történt korábban az információbiztonság dinamikus frissítése során.

Mert Ez a probléma nem egyszer felmerült, és úgy döntöttem, hogy megosztok egy kezelési lehetőséget.

A konfigurátor következő indításakor hibaüzenet jelent meg: „Figyelem!!! Hiba történt az adatok frissítése során az utolsó átalakítás után. Ismételjem meg a frissítést? Ha a válasz igen, a következő üzenetet kapjuk: „Hiányos konfigurációs mentési műveletet észleltünk. A munka folytatásához be kell fejeznie a műveletet”, amely után az alkalmazás bezárul.

A probléma elemzése során több megoldás is született a problémára, mindegyik megoldás más-más esetekben működik.

1. lehetőség (ha van egy SQL biztonsági másolata azonos konfigurációjú másolattal):

A rendszer telepíti az információbiztonság egy példányát, és végrehajtja a következő kérést:
HASZNÁLATA GO DELETE FROM .. GO INSERT INTO ..>SELECT * FROM .. GO
Ebben az esetben az információbiztonsági konfigurációt tároló táblázat újra kitöltésre kerül. E művelet után célszerű tesztelni és javítani az információbiztonságot.

2. lehetőség (ha nincs biztonsági mentés):

Ez az opció az utolsó csepp a pohárban. Mert a konfiguráció fejlesztés alatt állt, és egy kicsit megfeledkeztek a mentésről, a tárolásra hagyatkozva.
Az adatbázisban két rekord törlődik a „Config” táblából a „FileName” oszlopban található értékkel - dbStruFinal és véglegesítés

A következő lekérdezés kerül végrehajtásra:
HASZNÁLATA GO DELETE FROM. WHERE FileName = "dbStruFinal" GO DELETE FROM . WHERE FileName = "commit" GO
Furcsa módon az alap életre kel.

Címkék: 1C Enterprise 8.2, SQL, konfiguráció visszaállítás

Ez a cikk nem kommentálható, mivel a szerzője még nem teljes jogú tagja a közösségnek. A szerzővel csak azután léphet kapcsolatba, miután megkapta

Háttér

Létre kellett hoznunk egy új „MessageTrackingLog” információs nyilvántartást. Hozzáadva a konfigurációhoz, betöltve az adatokat. Aztán jött az optimalizálási munka. Változtatnom kellett a nyilvántartás szerkezetén. De nem volt ott!

Itt minden világos. A rekordok nem egyediek lettek, törölni kell őket!

A legegyszerűbb módja:

NewRecord = InformationRegisters.MessageTrackingLog.CreateRecordSet(); NewRecord.Write();

Ezzel a módszerrel nagyon gyorsan töröljük a regisztert 1C-ben (de ez is a mi hibánk lesz).

Hiba

Úgy tűnik, hogy a regiszter üres, és frissítheti az 1C-t. Nem akarlak meglepni, de ismét hiba lesz:


Mit jelent a hiba:

Kritikus hiba történt az infobázis frissítési folyamata során
mert:
Nem egyedi érték beszúrása egy egyedi indexbe:
Microsoft SQL szerver Natív kliens 11.0: A CREATE UNIQUE INDEX utasítás leállt, mert ismétlődő kulcsot találtunk a „dbo._InfoRgChngR34546NG” objektumnévhez és a „_InfoR34546_ByNodeMsg_RNTSRRRRRRNG” indexnévhez. A duplikált kulcs értéke (0x00000011,d7, , 4015. szeptember 27. 22:22, 768404,00,00,00,00,00,00).
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, állapot=1, Súlyosság=10, natív=1505, sor=1

Magyarázat

Ismerjük meg az SQL felépítését. Van nyilvántartásunk "MessageTrackingLog", SQL-ben a "táblázatban található" _InfoR34546". Ezt speciális feldolgozással vagy "poke" módszerrel ellenőrizheti (ezt nem kell megtennünk, mert a hibaszövegben már szerepel a táblázat neve).

Most elmagyarázom, mi történt. Amikor betöltöttük az adatokat a regiszterbe, az SQL-ben a táblázatba került" _InfoR34546". Amikor az 1C kóddal töröltük a táblázatot, ez az adat törölve lett a táblából" _InfoR34546", de át lettek másolva a táblázatba" _InfoRgChngR34546". Ez lett a probléma.

Megoldás

A probléma megoldásához törölnünk kell a „_InfoRgChngR34546” SQL táblát.

Elmondom egy példával" Microsoft SQL Server Management Studio". Lépjen a " Management Studio". Keresse meg adatbázisunkat, nyissa meg a táblázatok lapot, kattintson bármelyikre, majd kattintson az "Új lekérdezés" gombra: Most beírjuk a lekérdezést

"_InfoRgChngR34546" tábla csonkolása

Lehet még egy asztalod! Ne felejtsd el!

És nyomja meg az execute vagy az "F5" gombot. Ez legyen az eredmény:

Ez az, most már biztonságosan frissítheti az 1C-t, és nem lesz hiba!