Piani di manutenzione

di il
18 risposte

18 Risposte - Pagina 2

  • Re: Piani di manutenzione

    Ah, ma così probabilmente si confonde chi non è molto pratico …

    Anche perché manca lo spazio tra eseguibile e parametro.

    Il tool per eseguire lo script è SQLCMD.EXE ma scrivere

    Set objProcess = objShell.Exec("sqlcmd.exe  tuoscript.sql")

    non basterebbe perché il tool è in una cartella indicata da una chiave di registro

    (ad esempio HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\Tools\ClientSetup\path)

    che potrebbe essere

    C:\Program Files\Microsoft SQL Server\110\Tools\Binn\

    che andrebbe letta e inserita nel comando

    Set objProcess = objShell.Exec(cmdpath & "sqlcmd.exe  tuoscript.sql")

    e naturalmente la parte relativa alla versione (110) dovrebbe essere gestita (ricercata nel registro o indicata specificatamente).

  • Re: Piani di manutenzione

    31/10/2023 - oregon ha scritto:


    Ah, ma così probabilmente si confonde chi non è molto pratico …

    Certo Oregon… hai ragione, ma non ero mio intento fornire un codice ma solo una possibile soluzione…. era solo un ipotesi.

  • Re: Piani di manutenzione

    Salve a tutti,

    al di la' che Franco metteva un esempio in senso lato, la chiamata a sqlcmd NON richiede di solito il full path in quanto dovrebbe gia' essere nel path di sistema…

    gli bastano i parametri di connessione (-E = trusted connection oppure -Uxxx -Ppwd) e tutti i parametri “necessari” o opzionali desiderati…

    ad esempio, il file cmd che indicavo sopra potrebbe anche solo contenere

    SqlCmd.exe -E -S(Local) -i"c:\percorso_del_fileSQL,sql" -o"c:\percorso_del_file_di_output.txt" -b -V1

    salutoni romagnoli
    – 
    Andrea

  • Re: Piani di manutenzione

    31/10/2023 - asql ha scritto:


    Salve a tutti,

    al di la' che Franco metteva un esempio in senso lato, la chiamata a sqlcmd NON richiede di solito il full path in quanto dovrebbe gia' essere nel path di sistema…

    gli bastano i parametri di connessione (-E = trusted connection oppure -Uxxx -Ppwd) e tutti i parametri “necessari” o opzionali desiderati…

    ad esempio, il file cmd che indicavo sopra potrebbe anche solo contenere

    SqlCmd.exe -E -S(Local) -i"c:\percorso_del_fileSQL,sql" -o"c:\percorso_del_file_di_output.txt" -b -V1

    salutoni romagnoli
    – 
    Andrea

    Si … oppure la stringa di comando del tipo :

    commandBk = "sqlcmd -S ServerName -U User -P Password -Q ""BACKUP DATABASE [DatabaseName] TO DISK = N'" & BackupFolder & 
    	"' WITH NOFORMAT, NOINIT, NAME = N'DatabaseName-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10"""" -o backup.log"
    
    objShell.Run commandBk, 1, True
Devi accedere o registrarti per scrivere nel forum
18 risposte