K IN G
Manuale Tecnico
Documentazione ad uso esclusivo dell’installatore della procedura
SQLSCHEDULER PER MS SQL SERVER EXPRESS
KING GESTIONALE - KING STUDIO - TURBODOC
Aggiornato al 04/07/2011
DATALOG – Soluzioni Integrate
- 2 - Manuale Tecnico
Sommario
1
Microsoft SQL Express ......................................................................................................... 3
1.1
1.1.1
1.1.2
1.2
1.3
1.3.1
SQLScheduler ........................................................................................................ 4
Installazione SQLScheduler ................................................................................... 4
Configurazione applicazione ................................................................................... 6
Abilitazione dell’opzione Agent XP ....................................................................... 11
KING e Microsoft SQL Express ............................................................................ 12
Interazione con Trigger e Stored Procedure (King TurboNew)............................. 12
DATALOG – Software a Dimensione Uomo
MICROSOFT SQL SERVER Express: SQLScheduler - 3 -
1 Microsoft SQL Express
Microsoft SQL Server Express è la versione gratuita del database che sostituisce MSDE
(Microsoft SQL Server 2000 Desktop Engine, il quale era basato su Microsoft SQL Server 2000).

Trattandosi di una versione ridotta, presenta alcune limitazioni, tra cui segnaliamo
principalmente la mancanza del servizio SQL AGENT (utilizzato da King per avviare le stored
procedure legate al moduli Vendite New, Magazzino e Produzione) e quindi la mancanza degli
strumento di gestione Piani di Manutenzione (quindi impossibilità di prevedere un automatismo
di backup e manutenzione database integrato)
La principale limitazione risulta quindi essere la mancanza all’interno dello strumento MS SQL
Server Management Studio Express delle funzionalità di Job Scheduler necessarie a realizzare
automatismi di manutenzione e backup sui database utilizzati dalle procedure Datalog King e
Datalog TurboDoc.
Ai fini del'utilizzo del sistema king, la principale limitazione consiste tuttavia nella mancanza delle
funzionalità di SQL Agent, necessarie ad eseguire trigger e stored procedure.
Per superare tale limitazione, sono disponibili diverse utilities: tra queste, segnaliamo il software
chiamato SQLScheduler.
Per queste ed altre ragioni, attualmente in un ambito professionale, data l'elevata scalabilità degli strumenti
di gestione e l'alto livello di sicurezza presenti, consigliamo l'utilizzo del DBMS Microsoft SQL Server
Enterprise (su hardware dedicato e consono alla realtà aziendale), in quanto rappresenta una piattaforma
dati completa che fornisce scalabilità, prestazioni, disponibilità elevata e funzionalità di Business Intelligence
avanzate a livello aziendale per eseguire applicazioni cruciali per l'organizzazione in modo protetto.
Nel seguito tuttavia forniamo un’alternativa per colmare in parte le limitazioni del Sistema Microsoft SQL
Server Express Edition.
DATALOG – Software a Dimensione Uomo
- 4 - Manuale Tecnico
1.1 SQLScheduler
SqlScheduler è un software gratuito che consente di pianificare, tramite interfaccia grafica
l’esecuzione di specifiche attività (backup, rigenerazione indici, controlli di integrità etc.) denominati
Jobs.
Permette inoltre, tramite e-mail, di avvisare il supporto tecnico circa il successo/fallimento durante
l’esecuzione del Job stesso.
SqlScheduler funziona su macchine Windows e può interfacciarsi con tutte le versioni di SQL
Server 2000, SQL Server 2005 e SQL Server 2008; supporta un numero illimitato di istanze e
Jobs.
Per il suo funzionamento necessita della presenza dei componenti Net Framework 2.0.
1.1.1 Installazione SQLScheduler
Datalog – per agevolare il lavoro dei propri concessionari – fornisce il Kit necessario
all’installazione del software SQLScheduler.
Il kit di installazione contiene i seguenti files:
SQLScheduler.exe – file eseguibile principale
SQLSCheduler.WindowsService.exe – Servizio Windows responsabile dell’esecuzione e
della pianificazione dei Jobs
SQLScheduler.Scheduler.dll – Librerie addizionali
SQLScheduler.exe.config – file di configurazione dell’ eseguibile principale
SQLScheduler.WindowsSerivice.exe.config – file di configurazione del Servizio
Windows
Jobs.config – file di configurazione nel quale vengono memorizzati i dettagli di ogni Job
Installservice.bat – file batch utilizzato per installare il servizio SQLScheduler
Uninstallservice.bat – file batch utilizzato per disinstallare il servizio SQLScheduler
QuerySchedulatore – Set di istruzioni SQL di esempio da utilizzare nei vari Job
Per procedere alla sua installazione è necessario:
estrarre il contenuto dell’archivio in una directory
eseguire il file InstallService.bat (n.b: per la sua corretta esecuzione/installazione è
necessario che l’utente in questione possieda privilegi amministrativi sulla macchina)
tramite editor (es. Notepad) aprire il file SQLScheduler.WindowsService.exe.config nel
quale è necessario configurare:
Host name: indicando il nome (oppure l’indirizzo IP) del server SMTP utilizzato nella
connessione (questo Server verrà utilizzato per l’invio delle e-mail di notifica)
User Name: indicando il nome dell’utente di accesso al Server stesso
Password: indicando la relativa password dell’utente
DATALOG – Software a Dimensione Uomo
MICROSOFT SQL SERVER Express: SQLScheduler - 5 -
Al termine dell’operazione è necessario salvare il file quindi riavviare il servizio
SqlScheduler per rendere effettive le modifiche.
Riportiamo di seguito un esempio di configurazione:
<smtp deliveryMethod="Network" from="[email protected]">
<network host="dominio.com" userName="nome" password="password" />
</smtp>
avviare il file SQLScheduler.exe
DATALOG – Software a Dimensione Uomo
- 6 - Manuale Tecnico
1.1.2 Configurazione applicazione
Una volta eseguito SqlScheduler cliccando con il tasto destro del mouse sul nodo Servers,
selezionare la voce New Server.
Inserire nel campo Server Name il nome (oppure l’indirizzo IP) dell’istanza SQL Server verso la
quale si desidera stabilire il collegamento.
Una volta indicato il Server Name premere il pulsante Save per effettuare il salvataggio.
Per inserire un nuovo Job cliccare con il tasto destro del mouse sull’istanza appena collegata sul
nodo Server e selezionare la voce New Job
Apparirà una maschera composta da diverse schede di configurazione: ricordiamo che è
necessario effettuare il salvataggio di ogni scheda attraverso il pulsante Save prima di procedere
con la compilazione della successiva.
La scheda General richiede l’inserimento di un nome identificativo e di una descrizione relativa al
Job che si sta creando.
DATALOG – Software a Dimensione Uomo
MICROSOFT SQL SERVER Express: SQLScheduler - 7 -
E’ possibile scegliere tra due differenti metodi di autenticazione:
Windows Autentication attraverso il quale il job verrà eseguito tramite l’account utente
indicato nel servizio di Windows
SQL Server Autentication attraverso il quale saranno utilizzate le credenziali dell’utente
SQL Server.
La scheda Details consente, attraverso l’utilizzo del linguaggio Transact-SQL, di inserire i comandi
e le istruzioni (backup, rigenerazione indici, controlli di integrità, etc.) che si desiderano eseguire
nel Job, le quali potranno essere verificate sintatticamente tramite l’ausilio del pulsante Check
Syntax.
Inoltre nel campo Script Timeout è possibile definire un tempo massimo di esecuzione il quale è
impostato come default a 15 secondi (0 = illimitato).
DATALOG – Software a Dimensione Uomo
- 8 - Manuale Tecnico
La scheda Schedule consente di indicare gli intervalli di pianificazione desiderati, impostando ad
esempio la periodicità e la durata di esecuzione del Job.
DATALOG – Software a Dimensione Uomo
MICROSOFT SQL SERVER Express: SQLScheduler - 9 -
Infine la scheda Notifications consente di indicare l’indirizzo e-mail da utilizzare per la ricezione
delle notifiche sullo stato delle operazioni eseguite.
E’ inoltre possibile includere nel messaggio il dettaglio delle operazioni effettuate attraverso
l’attivazione del flag Attach Resultsets to Notification Emails
DATALOG – Software a Dimensione Uomo
- 10 - Manuale Tecnico
Il risultato che otterremo è il seguente:
Una volta terminate le impostazioni, il nostro Job risulterà correttamente configurato; potrà essere
in qualsiasi momento eseguito (a prescindere dalla pianificazione, cliccando con il tasto destro ed
utilizzando la voce Execute) oppure modificato (selezionando l’opzione Edit Job)
DATALOG – Software a Dimensione Uomo
MICROSOFT SQL SERVER Express: SQLScheduler - 11 -
A titolo di esempio riportiamo nel dettaglio sottostante una query SQL da pianificare ad intervalli
regolari tramite Job per effettuare una copia di Backup degli archivi (System e User) collegati al
motore di database :
DECLARE @SQL varchar(max)
SET @SQL = ''
SELECT @SQL = @SQL + 'BACKUP DATABASE [' + Name +'] TO DISK =
N''C:\BACKUP\BACKUP_'+ name + '.bak'' WITH NOFORMAT, INIT, NAME = N'''+ name
+'-Completo Database Backup'', SKIP, NOREWIND, NOUNLOAD, STATS = 10'
FROM sys.sysdatabases
EXEC(@SQL)
1.2 Abilitazione dell’opzione Agent XP
L'opzione Agent XPs consente di attivare Trigger e Stored Procedure necessarie al
funzionamento delle form TurboNew presenti in King.
Per attivare tale opzione in ambiente MS SQL EXPRESS è necessario eseguire la seguente
istruzione sull’istanza SQL interessata tramite l’ausilio dello strumento Query Analizer:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Agent XPs', 1;
GO
RECONFIGURE
GO
Nella quale il valore:
0 = indica che le Stored Procedure estese non sono disponibili (corrisponde al valore predefinito)
1 = indica che le Stored Procedure estese sono disponibili.
DATALOG – Software a Dimensione Uomo
- 12 - Manuale Tecnico
1.3 KING e Microsoft SQL Express
King si interfaccia a database SQL gestiti anche su motori Microsoft SQL Server Express Edition:
tuttavia in questa ipotesi, alcune funzionalità potrebbero non essere direttamente disponibili, per la
mancanza del servizio SQL Agent.
Tale mancanza può essere (come abbiamo visto sopra) sopperita in parte dall’installazione di
procedure aggiuntive come SQLScheduler.
1.3.1 Interazione con Trigger e Stored Procedure (King TurboNew)
Per utilizzare le funzionalità del modulo TurboNew di KING, in presenza di database gestito con
“Ms-SQL Server Express” , è quindi necessario aver installato e configurato correttamente una
procedura come SQLScheduler: solo dopo aver fatto ciò, sarà possibile abilitare l’utilizzo del
modulo all’interno di King (dalla funzione definita Modalità Avanzata sulle Vendite, legata al
modulo TURBO_NEW) ricordando che l’aggiornamento dei Saldi di Magazzino verrà reso
disponibile esclusivamente al termine del corrispondente Job.
Per poterla attivare è necessario abilitare il flag denominato Attiva Documenti di Vendita in
Modalità Avanzata, parametro richiamabile nel menu Archivi  Parametri della Procedura
cartella Vendite - Principali:
Alla conferma dei Parametri, se attivato, vengono automaticamente installati Trigger e Stored
Procedure, per fare questo viene utilizzata l’utility KngSQLInstall.exe la quale deve essere
presente nella directory di installazione del programma.
In alternativa è possibile ottenere lo stesso risultato sempre tramite l’ausilio dello strumento Query
Analizer eseguendo la seguente istruzione sull’archivio della società interessata:
DATALOG – Software a Dimensione Uomo
MICROSOFT SQL SERVER Express: SQLScheduler - 13 -
update societa set setrgsaldimag=1, NuoviForm=1
GO
UPDATE AggSql SET SeUsata = 1, DataAgg = '2003/01/01' WHERE NomeProc IN
('tr_kng_MovMagDettInsert','tr_kng_MovMagDettDelete','tr_kng_MovMagDettUpdate','
tr_kng_MovMagTestUpdate'
,'tr_kng_MovMagTestDelete','tr_kng_OrdCliDettInsert','tr_kng_OrdCliDettDelete','
tr_kng_OrdCliDettUpdate'
,'tr_kng_OrdCliTestDelete','tr_kng_OrdCliTestUpdate','tr_kng_OrdForCompInsert','
tr_kng_OrdForCompUpdate'
,'tr_kng_OrdForCompDelete','tr_kng_OrdForDettInsert','tr_kng_OrdForDettDelete','
tr_kng_OrdForDettUpdate'
,'tr_kng_OrdForTestDelete','tr_kng_OrdForTestUpdate','tr_kng_OrdForTestInsert','
tr_kng_OrdProCompInsert'
,'tr_kng_OrdProCompUpdate','tr_kng_OrdProCompDelete','tr_kng_OrdProDettInsert','
tr_kng_OrdProDettDelete'
,'tr_kng_OrdProDettUpdate','tr_kng_OrdProTestDelete','tr_kng_OrdProTestInsert','
tr_kng_OrdProTestUpdate'
,'tr_kng_TrgOPFlagUpdate','sp_kng_UpdateCliSaldiMag','sp_kng_UpdateForSaldiMag',
'sp_kng_UpdateMovSaldiMag'
,'sp_kng_UpdateProSaldiMag','sp_kng_EndTblSaldiMag','sp_kng_ExecJobSaldiMag','sp
_kng_AggiornaRigheNull')
GO
Use [msdb]
EXEC sp_addrolemember 'db_datareader','guest'
GO
USE [master]
GRANT EXEC ON xp_sqlagent_enum_jobs TO guest
GO
Entrambe le impostazioni diventano effettive immediatamente e non richiedono l'interruzione e il
riavvio del Server SQL.
A titolo di esempio riportiamo nel dettaglio sottostante una query SQL da pianificare ad intervalli
regolari tramite Job in grado di riallineare le Giacenze di Magazzino a seguito di operazioni svolte
all’interno della procedura.
use [nomedatabase]
DECLARE
@NUMESER AS INT,
@FUNC CHAR (1)
SET @NUMESER = 1
SET @FUNC = 'T'
EXEC SP_KNG_RIPRISTINOSALDIMAG @NUMESER, @FUNC
DATALOG – Software a Dimensione Uomo
- 14 - Manuale Tecnico
Proprietà letteraria riservata
 by DATALOG SRL
E’ vietata la riproduzione totale e/o parziale del presente manuale. Datalog potrà apportare, senza
effettuare nessuna comunicazione ed in qualsiasi momento, modifiche alle caratteristiche descritte,
aggiunta o eliminazione di parti della procedura , per ragioni di natura tecnica o commerciale. Le
componenti dei programmi descritti si riferiscono al prodotto completo di tutti i moduli integrabili
presenti e futuri, non sempre quindi installati con la procedura di base.
Le informazioni contenute nel presente possono essere modificate senza preventivo avviso o
comunicazione. La comunicazione di tali informazioni e/o la loro utilizzazione da parte degli utenti
non comporta l’assunzione, nemmeno in forma implicita, di alcuna obbligazione da parte della
DATALOG S.r.l. verso tali utenti. In particolare la DATALOG S.r.l. non si assume nessuna
responsabilità per qualsiasi errore che possa apparire in questo documento.
Qualsiasi altro utilizzo sarà considerato come una violazione della licenza d’uso.
Non viene assunta nessuna responsabilità per l’uso e l’affidabilità del software ovvero il suo
utilizzo per uno specifico scopo.
Tutti i marchi citati sono registrati dai legittimi proprietari.
DATALOG – Software a Dimensione Uomo