Přesun dat Varia z MSSQL2000(70) na MSSQL2005

Nová datová struktura používá k zajištění referenční integrity místo triggerů cizí klíče, které jsou však plně podporovány až od verze SQL serveru 2000. Výhodou cizích klíčů je nižší pravděpodobnost vzniku deadlocků a možnost dávkové/hromadné aktualizace dat pomocí nástrojů SQL serveru.

1)
Na starém SQL serveru 2000 v databázi master vytvořte(aktualizujte) pomocí skritptu Upgrade_Master_Procedury.sql umístěného v adresáři Sql\prevod_V10_V11 instalačního CD Varia pomocné procedury používané pro správu databází Varia.

2) Pokud jste ještě nepřeváděli datovou strukturu na verzi MSSSQL2000 proveďte na starém SQL serveru aktualizaci datové struktury pomocí skriptu 01-Upgrade.sql umístěného v adresáři SQL\Aktualizace_YYYYMMDD\MSSQL70 instalačního CD.

3) Na novém SQL serveru 2005 v databázi master vytvořte pomocí skritptu Upgrade_Master_Procedury.sql umístěného v adresáři SQL\MSSQL2005\prevod_MSSQL2000_MSSQL2005 instalačního CD Varia pomocné procedury používané pro správu databází Varia.

4) Na starém SQL serveru odpojte všechny databáze, které chcete přesunout. Pro databáze Varia (Data, DMaj, DMzd, DOLE a DUct) lze použít proceduru spav_odpojdata cislofirmy popsanou v článku Uložené procedury v databázi master. Pro ostatní databáze (například databáze Firmy) je nutno použít proceduru sp_detach_db 'dbname' popsanou v Books Online (lze použít příklad ze článku Zmenšení databázového logu). Obě procedury jsou uloženy v databázi master.

5) Odpojené databázové soubory (pouze *.mdf, ne *.ldf) zkopírujte na nový SQL server 2005 (např. do adresáře D:\SQLData)

6) Na novém SQL serveru připojte zkopírované databáze Varia pomocí procedury spav_pripojdata cislofirmy, 'cesta k datovym souborum' popsané v článku Uložené procedury v databázi master. Ostatní databáze připojte pomocí procedury sp_attach_db 'dbname', 'filename' popsané v Books Online (lze použít příklad ze článku Zmenšení databázového logu).

7) Nad všemi databázemi Data, DMaj, DMzd, DOLE, DUct a Firmy spusťte příslušné skripty ze souborů Upgrade_DataXXXX.sql, Upgrade_DMajXXXX.sql, Upgrade_DMzdXXXX.sql, Upgrade_DOLEXXXX.sql, Upgrade_DUctXXXX.sql a Upgrade_firmy.sql umístěných v adresáři SQL\MSSQL2005\prevod_MSSQL2000_MSSQL2005.

8) V databázi Firmy na SQL serveru (případně v databázi Firmy.mdb, pokud není umístěna na SQL serveru) upravte v tabulce Data hodnotu pole Server na nový název SQL serveru. Zda je databáze Firmy umístěna na SQL serveru poznáte podle toho, zda je v souboru vario.ini umístěném v adresáři datového profilu Varia zapsána hodnota server = nazev_vaseho_SQL_serveru.

9) Je-li databáze Firmy umístěna na SQL serveru, změňte hodnotu nastavení server = v souboru vario.ini na název nového SQL serveru.

10) Na SQL serveru vytvořte přihlašovací účty a nastavte jim potřebná oprávnění k databázím. To lze provést následujícími způsoby:

  a) - Postupujte podle článku Převod uživatelských účtů mezi SQL servery.

  b) - Pomocí průvodce založením firmy (Nástroje - Možnosti - Firmy - SQL/File) založte na SQL serveru novou prázdnou firmu (tu potom smažete). Během této operace se na SQL serveru vytvoří uživatelské účty a v připojených databázích se smažou databázoví uživatelé se starým SID (SID z původního serveru). Potom se na základě všech přihlašovacích účtů SQL serveru vytvoří noví databázoví uživatelé s databázovými rolemi db_data_reader a db_data_writer.
      
- Restartujte Vario a odstraňte firmu vytvořenou v předchozím kroku.

      Pozor, u takto vytvořených uživatelů nebudou nastavena hesla. To znamená, že do Varia se přihlásí se svým původním heslem a po zobrazení dialogu 'Přihlásit se k SQL serveru' pouze odklepnou Enter. Heslo mohou jednotliví uživatelé synchronizovat v možnostech Varia na záložce Uživatelé tak, že do polí Původní i Nové heslo zadají stejnou hodnotu.