Ciao Stefano,
Si, è fattibile con un piccolo file batch che via osql.exe (o sqlcmd.exe in
SQL Server 2005) richiami la stored procedure di sistema sp_start_job
specificando il nome del job da eseguire.
> In caso affermativo dove posso trovare documentazione?
Sui Books Online :-)
http://msdn2.microsoft.com/en-us/library/ms162806.aspx
http://msdn2.microsoft.com/en-us/library/ms162773.aspx
http://technet.microsoft.com/en-us/library/ms186757.aspx
> Grazie.Ciao.Stefano.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
[sp_start_job (Transact-SQL)]
http://msdn2.microsoft.com/en-us/library/ms186757.aspx
nella sezione dedicata ai permessi in modo da decidere che utente usare
(anche sa per esempio, ma fa finta che non te l'abbia detto... :-) per
riuscire a richiamare sp_start_job.
Creando la sp con la clausola EXECUTE AS SELF, vedi:
[EXECUTE AS Clause (Transact-SQL)]
http://msdn2.microsoft.com/en-us/library/ms188354.aspx
per maggiori dettagli, fai in modo che un qualsiasi utente generico con
privilegi limitatissimi (anche il solo permesso di exec sulla tua stored
procedure) sia in grado di avviare il job richiesto proprio perché la sp di
wrapper non verrà eseguita nel contesto di sicurezza dell'utente chiamante
ma in quello dell'utente che l'ha generata/modificata (cioè l'utente che di
fatto ha impartito i comandi di CREATE PROCEDURE o ALTER PROCEDURE).
Fatto tutto questo, ti basta un banale script VBS che esegua la connessione
verso SQL con l'utente "pistola" e faccia l'exec della tua stored procedure
wrapper.
Se non stai usando SQL 2005, be', fai l'aggiornamento... :-)
Ciao, Alessandro
--
/*
Alessandro Dereani
Microsoft MVP - SQL Server
http://mvp.support.microsoft.com
*/
Purtroppo non utilizzo SQLServer 2005, grazie comunque per l'interessante
segnalazione.
Ciao. Stefano.