Oprava poškozené databáze po přerušené aktualizaci ERA z verze 6.4 na 6.5

Tento postup využijte v případě, kdy:

Proces aktualizace databáze byl přerušen restartem serveru

Služba ERA Server padá a v protokolu ERA Serveru (trace.log) je chybová hláška "Table 'era_db.tbl_log_apps_installed_status' doesn't exist"

Proces aktualizace byl přerušen ukončením služby ERA Server

Pokud jste zastavili službu ERA Server v průběhu aktualizace (nebo proces násilně ukončili) a provedli jste opravnou instalaci, postupujte podle prvního postupu.

Pokud jste zastavili službu ERA Server v průběhu aktualizace (nebo proces násilně ukončili), postupujte podle druhého postupu.

validation-status-icon-error VAROVÁNÍ:

Nejprve proveďte zálohu databáze.

Níže uvedené kroky vyžadují zkušenosti se správou databázových systémů, a proto by je měli provádět výhradně zkušení administrátoři.

I. Byla zastavena služba ERA Server a provedena opravná instalace

1.Otevřete si nástroj pro správu databáze (například HeidiSQL, SQL Server Management Studio, atp.).

2.Odstraňte všechny uložené procedury, funkce a pohledu z databáze era_db.

3.V závislosti na použitém databázovém systému si stáhněte a spusťte níže uvedené skripty. Po jejich spuštění se znovu v databázi era_db vytvoří předdefinované procedury.

MS SQL Server: Stáhnout skripty

MySQL: Stáhnout skripty

4.V databázi najděte tabulku:

MS SQL Server: dbo.tbl_logbackup_prevlogs

MySQL: tbl_logbackup_prevlogs

5.Pokud tabulka neexistuje, vytvořte ji níže uvedeným SQL dotazem:

MS SQL Server

IF object_id('dbo.tbl_logbackup_prevlogs', 'U') is null

BEGIN

CREATE TABLE [dbo].[tbl_logbackup_prevlogs](

[id] [bigint] NOT NULL IDENTITY(1,1),

[logType] [int] NULL,

[sequenceNo] [bigint] NOT NULL,

[keyframeNo] [bigint] NOT NULL,

[logSize] [bigint] NOT NULL,

[logData] [varbinary](max) NOT NULL,

PRIMARY KEY ( id ));

CREATE NONCLUSTERED INDEX i1 on [dbo].[tbl_logbackup_prevlogs] (logType, id)

END

MySQL

CREATE TABLE IF NOT EXISTS tbl_logbackup_prevlogs (

id BIGINT NOT NULL AUTO_INCREMENT, 

logType int NOT NULL,

sequenceNo BIGINT,

keyframeNo BIGINT,

logSize BIGINT,

logData mediumblob,

PRIMARY KEY (id),

INDEX i1 (logType, id)

) ENGINE = InnoDB DEFAULT CHARSET = utf8;

6.Pokračujte druhou částí.


II. Byla zastavena služba ERA Server

1.Zastavte službu ERA Server (pokud běží).

2.Stáhněte si upravené knihovny.

3.Rozbalte stažený .zip archiv.

4.V závislosti na platformě (x64 nebo x86) a operačním systému (Windows nebo Linux) zkopírujte z archivu .dll nebo .so do níže uvedených umístění (původní soubory nahraďte):

Windows .dll soubory:

C:\ProgramFiles\ESET\Remote Administrator\Server

Linux .so soubory:

/opt/eset/RemoteAdministrator/Server

5.Pokud jste prováděli kroky z první části, přejděte na krok 7.

Otevřete si nástroj pro správu databáze a v databázi era_db najděte tabulku tbl_logbackup_*  nebo dbo.tbl_logbackup_prevlogs, kde "*" představuje náhodný řetězec v názvu tabulky.

6.Tabulku tbl_logbackup_*  nebo dbo.tbl_logbackup_prevlogs přejmenujte na tbl_logbackup_prevlogs.

7.Uložte změny v databázi.

8.Spusťte službu ERA Server.

validation-status-icon-warning DŮLEŽITÉ:

Před spuštěním služby ERA Server na linuxu s aktivní funkcí SELinux spusťte níže uvedený příkaz:

/sbin/restorecon -F -R -v /opt/eset/RemoteAdministrator/Server/

Otevřete si protokol ERA Serveru (trace.log) a sledujte průběh aktualizace. V závislosti na výkonu serveru, operačním systému a velikosti databáze můžete tato akce trvat několik desítek minut. V žádném případě v průběhu aktualizace neukončujte službu ERA Server.