Přesun dat Varia na jiný SQL server


Pokud přecházíte na verzi MSSQL2005, postupujte podle článku Přesun dat Varia z MSSQL2000(70) na MSSQL2005.

1)
Na novém i starém SQL serveru v databázi master vytvořte pomocí skritptů umístěných v adresáři Sql\VERZEMSSQL\Procedury instalačního CD Varia pomocné procedury používané pro správu databází Varia (na starém serveru proto, že nemusí být aktuální, nebo nemusí existovat vůbec). VERZEMSSQL označuje adresář se skripty závislými na verzi použitého MSSQL serveru (MSSQL70, MSSQL2000, MSSQL2005).

2) 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.

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

4) 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).

5) Nad všemi připojenými databázemi spusťte proceduru sp_updatestats (viz. Books Online), nebo můžete využít proceduru spav_updatestats2 (viz. Uložené procedury v databázi master), která provede aktualizaci statistik nad všemi databázemi Varia dané účetní jednotky.

6) 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.

7) 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.

8) Na SQL serveru vytvořte přihlašovací účty a nastavte jim potřebná oprávnění k databázím. To můžete udělat více způsoby:

 

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

  b) - Spusťte Vario a po zobrazení dialogu 'Přihlásit se k SQL serveru' se přihlašte jako člen serverové role sysadmin (např. sa).
       - 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.

  c) - Pomocí DTS balíčku SQL serveru 2000 nebo pomocí Integration services SQL serveru 2005 přeneste informace o uživatelích na nový server. Při tvorbě balíčku vyberte úkol "Transfer logins" a postupujte podle informací zobrazených v dialogu. POZOR, oba dva servery musí mít jako startup account nastaveného uživatele s oprávněním kopírovat soubory přes síť (tedy NE účet LocalSystem) Vzhledem k tomu, že jednotlivá SID uživatelů nejsou zachována, je potřeba pro každou firmu spustit proceduru spav_dejpravarw_allusers CisloDat, která zajistí odstranění databázových uživatelů se starým SID a vytvoří nové s platným oprávněním k databázím Varia. Hesla uživatelů by měla být v tomto případě zachována.

9) Pokud přecházíte z verze MSSQL70 na verzi MSSQL 2000, postupujte dále podle článku Změna datové struktury z verze MSSQL70 na verzi MSSQL2000 nebo MSSQL2005.