Alex's Weblog

Weblog di Ermanno Goletto (Codename Alex - A Learning EXperience)
posts - 438, comments - 4214, trackbacks - 294

My Links

News

Il blog è stato
trasferito al
 seguente link:


DevAdmin Blog

Add my blog to Live

Foto

Curriculum Vitae


Il contenuto di questo blog e di ciascun post viene fornito “così come é”, senza garanzie, e non conferisce alcun diritto. Questo blog riporta il mio personale pensiero che non riflette necessariamente il pensiero del mio datore di lavoro.

Logo Creative Commons Deed


Logo MCTS

Logo MCSA

Logo MCP

Logo Microsoft Certified Business Management Solutions Professional

Microsoft Certified Business Management Solutions Specialist


Logo UGIdotNET UGIdotNET Contributor


Logo UGISS UGISS Contributor


Logo SysAdmin.it SysAdmin.it Staff


Article Categories

Archives

Post Categories

Blogs

Database

Development

Friends

IT

Knowledge Base

Links

MBS

MCP

MVP Sites

User Groups

Virtualization

Schedulare il Backup di Navision

Il backup di Navision è molto flessibile, consente infatti di salvare in modo indipendente i dati di una o più società, gli oggetti applicativi e i dati comuni a tutte le società e quindi può tornare utile anche se il database è su SQL Server che è provvisto di un suo backup che però non può ovviamente soddisfare questo tipo di esigente legate esclusivamente all'uso di Navision. Va precisato però che se sta utilizzando SQL Server è consigliato utilizzare il suo backup per le seguenti ragioni:

  1. Il backup di SQL Server è eseguito lato server mentre il backup di Navision che è eseguito lato client.
  2. Il backup di SQL server non blocca i dati al contrario del backup di Navision che blocca i dati nel momento in cui sono salvati sino al termine del processo.
  3. Il restore di un backup eseguito col client di Navision su un database in SQL Server aumenta il log delle transazioni, occorre quindi eseguire un backup completo del database tramite il tool di SQL Server al termine.

Non esiste però la possibilità di schedulare il backup di Navision, l'unica alternativa fornita dal prodotto è quella di utilizzare tramite le Operazioni Pianificate di Windows il tool a riga di comando HotCopy che viene installato insieme al Navision Application Server, va però precisato che HotCopy viene eseguito dal server ma esegue soltanto una copia del file del database.

E' però possibile schedulare il backup di Navsion avviando tramite le Operazioni Pianificate di Windows uno script WSH che apra il client di Navsion, invii i comandi necessari per avviare il backup, attenda il termine del backup e quindi chiuda il client.

Sommario

Creazione di uno script WSH per avviare il Backup di Navision

Un modo per avviare il backup di Navision è quello di creare uno script WSH che simuli le operazione via interfaccia grafica necessarie per avviare processo:

OpenWaitTime = 3000
SendKeysWaitTime = 500
BackupWaitTime = 90000

'Avvio client Navision
Set oShell = WScript.CreateObject("WScript.Shell")
oShell.CurrentDirectory="C:\Programmi\Microsoft Business Solutions-Navision\Client"
oShell.Run("Fin.exe")
WScript.Sleep OpenWaitTime

'Invio Enter per confermare messaggio licenze
oShell.SendKeys "{ENTER}"

'Apertura Voce Strumenti/Backup
WScript.Sleep SendKeysWaitTime
oShell.SendKeys "%TB"

'Inserimento descrizione backup
WScript.Sleep SendKeysWaitTime
oShell.SendKeys "Descrizione"

WScript.Sleep SendKeysWaitTime
oShell.SendKeys "{TAB}"

'Inserimento file backup
WScript.Sleep 500
oShell.SendKeys "F:\BkpNavision"
oShell.SendKeys "-" & Mid(FormatDateTime(Now, 2),7,4)
oShell.SendKeys "-" & Mid(FormatDateTime(Now, 2),4,2)
oShell.SendKeys "-" & Mid(FormatDateTime(Now, 2),1,2)
oShell.SendKeys "-" & Mid(FormatDateTime(Now, 3),1,2)
oShell.SendKeys "-" & Mid(FormatDateTime(Now, 3),4,2)
oShell.SendKeys "-" & Mid(FormatDateTime(Now, 3),7,2)
oShell.SendKeys ".fbk"

WScript.Sleep SendKeysWaitTime
oShell.SendKeys "{TAB}"

'Avvio Backup
WScript.Sleep SendKeysWaitTime
oShell.SendKeys "{ENTER}"

'Attesa termine Backup
WScript.Sleep BackupWaitTime

'Invio Enter per confermare messaggio Backup
oShell.SendKeys "{ENTER}"

'Chiusura client Navisio
WScript.Sleep SendKeysWaitTime
oShell.SendKeys "%FE"

Occorre utilizzare il metodo Sleep perchè l'interfaccia può non rispondere immediatamente, inoltre occorre anche stimare il tempo in cui il backup verrà ultimato per inviare i comandi di chiusura del client (il tempo può essere determinato provando a fare un backup e tenendo conto che crescerà con l'aumentare dei dati).

Se si decide di utilizzare questo metodo è consigliabile utilizzare la Windows Authentication per accedere a Navision invece di inviare tramite SendKeys l'utente e la password perchè queste rimarrebbero in  chiaro all'interno dello script.

Print | posted on venerdì 17 febbraio 2006 17:27 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET