Migrace Helios Orange na nový server

PříspěvekNapsal: 25.05.2012 08:35
od jan.havranek
S migracemi máme mnoho zkušeností a můžeme Vám ji nabídnout formou služeb (instalace MSSQL, konfigurace, migrace dat a aplikace, zprovoznění externích řešení ...).
Neváhejte nás kontaktovat na hotline Helios Orange.

Obecně:
Migrace na nový server spočívá v přenosu všech prvků systému Helios (aplikace, databázový server, vlastní data, rozšiřující moduly - pluginy a jiná specifická a zakázková řešení).
Ideální je, pokud původní i nový (cílový) server běží ve stejném okamžiku a je možné se kdykoliv vrátit k původnímu stavu.

MSSQL Server:
Na cílovém serveru je třeba nainstalovat stejnou (nebo vyšší) verzi a stejnou (nebo vyšší) edici MSSQL Serveru. Je vhodné dodržet konfiguraci MSSQL (třídění serveru a nastavení SQL služeb).
Detaily nastavení jsou popsány v příručce Instalace MS SQL Server.
Původní server doporučujeme po migraci ponechat po nějakou dobu dostupný, jako zálohu.

Databáze Helios:
Je třeba přenést všechny databáze Heliosu. Databáze obsahuje kompletní data a uživatelská nastavení.
Také je potřeba zachovat pořadí firem (databází) z původního serveru. Jedná se hlavně o tzv. nultou (systémovou databázi) - v seznamu firem je zobrazena na prvním místě a má číslo 0. Ta obsahuje informace a nastavení společná pro celou licenci. Záměna nulté databáze za jinou lze provést za určitých podmínek, viz https://forum.helios.eu/orange/forum/viewtopic.php?f=25&t=153.

Data lze přenést zálohou *.BAK (SQL Full Backup > SQL Restore) nebo provést odpojení a připojení databáze (sp_detach_db > sp_attach_db). Obě metody přenosu jsou také dostačující pro update mezi verzemi MSSQL 2005, 2008, 2008R2, 2012, 2014, 2016 a není třeba žádná další akce (není nutné provádět např. Export/Import databáze).
Databáze na původním serveru je vhodné po migraci nějakou dobu ponechat, ale raději je pomocí SQL Server Management Studia převést do stavu Offline (jsou nedostupné, ale dají se jedním klikem opět rychle zpřístupnit).

Uživatelské účty:
Platí (až na výjimky): uživatel HELIOS = user v databázi MS SQL = login na MS SQL Serveru

User v databázi je součástí databáze a přenese se spolu se zálohou.
Pro účty typu SQL login platí, že při spuštění systému Helios, umí tento detekovat uživatele v databázi a nabídnout jejich založení jako Login na MSSQL. Při této akci je třeba zadat generovaným uživatelům nové heslo (jednotné pro všechny), které musí splňovat podmínky Strong password. Toto heslo si pak uživatelé mohou sami měnit v Heliosu.
První otevření každé databáze po migraci provádějte novým spuštěním Heliosu, který bude mít do řádkového parametru zástupce přidán parametr -KK+. Tím se vynutí tzv. kontrola konzistence a ověří se stav objektů a uživatelů v dané databázi. Viz článek https://forum.helios.eu/orange/forum/viewtopic.php?f=2&t=46.

V případě účtů doménových (automatické přihlášení pomocí doménového účtu Windows) je třeba na nový SQL server přidat tyto doménové uživatele jako Loginy ručně, přímo do SQL (pomocí SQL Server Management Studio) nebo v HELIOS, v seznamu uživatelů tím, že do daného uživatele vstoupíte pomocí tlačítka Oprava a uložíte OK (na pozadí se založí příslušný login na MS SQL Serveru). Veškerá nastavení aplikace jsou spojena s uživatelským jménem (jméno = Login SQL).

Uživatelské účty SQL je také možno přenést pomocí nástrojů MSSQL Serveru (včetně původního hesla), viz článek https://forum.helios.eu/orange/forum/viewtopic.php?f=25&t=570

Související odkazy:
https://forum.helios.eu/orange/forum/viewtopic.php?f=25&t=567
https://forum.helios.eu/orange/forum/viewtopic.php?f=25&t=428

Aplikace Helios:
Samotnou aplikaci lze přenést buď novou instalací z CD nebo jednoduše prostou kopií celého adresáře (Helios IQ) na cílový server.
Poté je třeba upravit soubor Helios.ini (je v adresáři), je nutné změnit parametr SERVER= a nasměrovat jej na nový (cílový) MSSQL Server.
Detaily parametrů souboru Helios.ini jsou popsány v příručce První spuštění systému Helios Orange.
Po migraci je nutné nastavit na cílovém serveru sdílení adresáře, tak aby byl opět uživatelům dostupný. Původní sdílení je vhodné ukončit. Uživatelům je také třeba upravit na PC zástupce. V případě provozu systému Helios přes Terminal Server, VPN apod. je potřeba provést kontroly a nastavení zástupců i v profilech těchto vzdálených uživatelů.

Externí řešení:
Pokud jsou použita nějaká externí řešení na míru (především pluginy apod.), pak je vhodné provést kontrolu stavu a ověřit možnosti přesunu na nový server. Zejména při přechodu na MS SQL server 2012 a vyšší je třeba věnovat pozornost již nepodporovaným funkcím oproti starším verzím MS SQL (2005, 2008, 2008R2). Více viz Kompatibilita Helios Orange a MS SQL 2012.

Související řešení, ležící mimo vlastní HELIOS:
Kromě vlastních databází, uživatelů, aplikace HELIOS, externích řešení v DB a pluginů v adresáři aplikace, mohou s provozem systému HELIOS nepřímo souviset další napojení a úlohy, které nejsou součástí samotné aplikace nebo databáze. Tyto je třeba zkontrolovat a případně také přenést do nového prostředí.

Jedná se zejména o tyto:

1/ SQL objekty
    * Linked Server - napojení na externí datové zdroje (soubory, jiné SQL servery apod.)
    * DDL Trigger - speciální globální triggery, aplikované na celý SQL server, přes všechny databáze
    * SQL Agent Jobs - plánované úlohy SQL, které mohou provádět např. spuštění externích procedur, zálohování, údržbu databází apod.
    * SQL FileStream - technologie SQL pro ukládání většího objemu binárních dat (dokumentů) do databáze
2/ Windows objekty
    * NT services - služby Windows, tedy aplikace zaregistrované a běžící formou služby (např. Creditcheck, SD Server apod.)
    * Scheduled Task - plánované úlohy Windows - v plánovači mohou být různé akce, např. externí zálohování, automatické stahování kurzovního lístku apod.
3/ SW třetích stran
Aplikace mimo Helios, které komunikují s SQL, čtou, případně ukládají data do Helios databází, např.
    * SD Server - napojení pro online čtečky čárových kódů, má vlastní konfiguraci připojení k SQL
    * Docházkové systémy
    * E-shopy
apod.

Migrace na MS SQL 2012 při zakázkových úpravách v databázi

PříspěvekNapsal: 21.05.2013 09:08
od tomas.koci
V případě, že v databázi přenášené na Microsoft SQL server 2012 existují zakázkové úpravy, nabízí se 2 postupy, jak migraci zorganizovat.

Varianta A – testovací prostředí přímo u zákazníka
• Podstatou testu je, že zatímco stále běží dosavadní Helios v ostrém provozu, připravuje se na novém serveru či proti nové instalaci MS SQL 2012 testovací prostředí. To bude po úspěšném dokončení testů změněno na ostré prostředí a dosavadní ostré prostředí bude ukončeno.

• Zákazník si pořídí nový server, který bude nainstalován (Windows) a zapojen do firemní LAN paralelně s dosavadním serverem. Případně bude zákazník užívat dosavadní server s další instancí MS SQL databáze.
Poznámka: požadavek zastavení provozu současného serveru (včetně zastavení práce uživatelů) a jeho rychlé nahrazení novým serverem nevidíme, vzhledem k níže uvedeným rizikům nedokončení migrace v rámci jednoho dne, jako vhodný postup migrace.

• Konzultanti Helios Orange v rámci 1. výjezdu (či vzdáleného připojení) nainstalují Microsoft SQL 2012, provedou překopírování instalace Helios Orange a přenesou zálohu dat Heliosu, ale výhradně pro testování. (Nesmí nastat ostrý provoz uživatelů v této databázi.)

• Na takto vzniklém testovacím prostředí konzultanti i uživatelé společně provedou otestování zakázkových úprav a celkové funkčnosti (včetně např. provázání na další aplikace, nastavení vázaná na server apod.)

• Ověření, zda vyhovuje jednotlivá zakázková úprava, se provede takto
a) pluginy – musí vždy prověřit autor (programátor) přímo ve zdrojových kódech v Deplhi. Toto zpravidla nelze udělat na přímo u zákazníka. (Při instalaci tzv. "speciálních pluginů" dochází ke kontrole objektů vkládaných do databáze, např. uložených procedur. Nekontrolují se samotné příkazy v DLL knihovně. Pouze provedení opakované instalace proto pro prověření nestačí.)
b) externí akce – stačí drobně změnit a uložit, při ukládání funguje kontrola přímo SQL serverem.
c) uložené procedury nezobrazitelné přes externí akce – nutno programátoren zkontrolovat přímo zdrojové kódy (zobrazitelné např. přes Management Studio).

• Ve výše uvedených zakázkových úpravách může nastat nutnost jejich změny programátorem. Některé změny (např. překlady z Deplhi) není možné zajistit přímo na místě konzultantem a jejich provedení vyžaduje větší čas (zpravidla několik dní).

• Až poté, co dojde k případné změně zakázkově vytvořených řešení, je možné pokračovat v testování. Teprve po úspěšném otestování lze naplánovat termín ostrého přechodu na nový server.

• Přechod na ostrý provoz MS SQL 2012 provede konzultant Helios Orange v domluvený termín. Jeho obsahem je: zastavení provozu dosavadního Heliosu včetně zamezení spouštění uživatelům, zálohování dat, jejich přenos a obnovení do nového (dosud testovacího) prostředí apod.

Varianta B – testovací prostředí u dodavatele Helios Orange
• Princip této varianty je zcela totožný jako varianta A. Rozdílem je, že testovací prostředí vytvoří dodavatel na svých serverech a provede otestování bez součinnosti zákazníka. Kvůli tomu ale nemusí být možné otestovat veškeré funkce, napojení na jiné aplikace apod.

• Dodavatel Heliosu potřebuje od zákazníka dodání zálohy databáze Helios Orange (soubor .bak). Dále je třeba dodat celý zazipovaný celý adresář s instalací Helios Orange (kvůli různým .dl knihovnám).

• Dodavatel provede totožný postup testování a případných změn zakázkových řešení jako ve variantě A. (Ale s rizikem nemožnosti otestovat vše potřebné.)

• Na základě výsledku testu společně dodavatel a zákazník stanoví datum ostrého přechodu na MS SQL 2012 na serveru zákazníka.

Celkové doporučení
• Vzhledem k uvedeným postupům výrazně doporučujeme neplánovat migraci na Microsoft SQL 2012 jako realizovatelnou v jeden den. Raději celý postup rozdělte na několik částí a samostatných termínů: příprava testovacího prostředí a testování, rezerva na případné úpravy zakázkových řešení, pokračování testů, ostrá migrace apod.

• Před migracemi je ze strany zákazníka nutné, aby prověřil nároky na migrace na Microsoft SQL 2012 také pro všechny další aplikace nepocházející od Asseco Solutions, které tuto databázi také budou využívat.

• Při migraci také zkontrolujte, zda má zákazník instalovány poslední verze distribučních pluginů, nabízených přes Helios Store (např. Obecné importy, Skenování, Ekokom, atd.). Poslední verze těchto pluginů jsou připraveny na SQL 2012. Často ale zákazník může používat starší verzi, která není pro SQL 2012 kompatibilní.