pondělí 17. února 2014

MS SQL Server 2012 - syntaxe cmd v job úloze

Mám spuštěn SQL Server Agent.
A ten mi spouští mí zálohu databází.
To je první krok (STEP).

Ale já potřebuji dostat tyto zálohy mimo server ... no prostě přesunout jinam do jiného fyzického server.

Nadefinuji tedy krok 2 v dané úloze (job).
Rozhodnu se, že použiji typ OPERATING SYSTEM (CmdExec).
Konkrétně budu volat vynikající nástroj  ROBOCOPY (který je součástí os)a a který mi bude zrcadlit adresářovou strukturu se zálohami.

Ale ouha narazil jsem drobně ... jaká je syntaxe tedy ?


Je potřeba použít uvozovky.
Příkaz tedy bude vypadat takto.

"robocopy" E:\MSSQL\Backup \\server\d$\BACKUP "/MIR" "/NP" "/unilog:d:\LOG\robocopy.log" "/ETA" "/V" "/R:3"

A ještě poznámka ... je potřeba pamatovat na práva.
Tedy daný proces musí mít práva k zápisu.

což se dá alternativně řešit např. takto:

psexec -u doména\administrator -p heslo \\localhost "robocopy.exe" E:\MSSQL\Backup \\server\d$\BACKUP "/unilog:d:\LOG\robocopy.log" "/MIR" "/NP" "/ETA" "/V" "/R:3" 

Žádné komentáře:

Okomentovat