Přesun dat Varia na jiný SQL server

1. Na novém i starém SQL serveru v databázi master vytvořte (aktualizujte) pomocí skritptu Upgrade_Master_Procedury.sql umístěného v adresáři v datovém profilu Varia nebo na CD pomocné procedury používané pro správu databází Varia (na starém serveru proto, že nemusí být aktuální). Skript je umístěn v podadresáři \Setup\Vario\Moduly\Vario\Data\Prevod_z_V11_MSSQL\90.
 

2. Na starém SQL serveru odpojte všechny databáze, které chcete přesunout. Pro "číslované" databáze Varia (Data, DMaj, DMzd, DOLE, DSED, DUct a další) lze použít proceduru spav_odpojdata cislofirmy popsanou v článku Uložené procedury v databázi master. Pro ostatní nečíslované 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é číslované databáze Varia pomocí procedury spav_pripojdata cislofirmy, 'cesta k datovym souborum' popsané v článku Uložené procedury v databázi master. Ostatní nečíslované 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).
V případě, že adresář, ze kterého jsou databáze na novém serveru připojovány, obsahuje pouze databáze Varia, tedy pouze databáze, které chcete připojit, je možné použít pro připojení všech databází proceduru spav_pripoj_all_dbs_from_dir.

 

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. Nad databází master spusťte příkaz:

spav_foreachuserdb 'declare @sql varchar(4000) set @sql = ''dbcc updateusage ('' + db_name() + '')'' execute(@sql)'

7. V databázi Firmy na SQL serveru upravte v tabulce Data hodnotu pole Server na nový název SQL serveru.

 

8. Změňte hodnotu nastavení server = v souboru vario.ini na název nového SQL serveru.

 

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

Postupy a) nebo b) nejsou nutné v případě použití společného uživatele s rolí sysadmin na novém sql serveru. Pokud je ve Variu nastaveno používání společného uživatele, je nutné pouze tohoto uživatele (s rolí sysadmin) založit i na novém SQL serveru.

 

Související dokument