Eseguire passaggi di Windows PowerShell in SQL Server Agent
Utilizzare SQL Server Agent per eseguire script di SQL Server PowerShell a orari pianificati.
Prima di iniziare: Limitazioni e restrizioni
Per eseguire PowerShell da SQL Server Agent usando il passaggio del processo di PowerShell, passaggio del processo del prompt dei comandi
Prima di iniziare
Sono disponibili molti tipi di passaggi del processo di SQL Server Agent. Ogni tipo è associato a un sottosistema che implementa un ambiente specifico, ad esempio un agente di replica o un ambiente del prompt dei comandi. È possibile codificare gli script di Windows PowerShell, quindi usare SQL Server Agent per includere gli script nei processi eseguiti in base a orari pianificati o in risposta a eventi di SQL Server. È possibile eseguire gli script di Windows PowerShell con un passaggio del processo del prompt dei comandi o di PowerShell.
Usare un passaggio del processo di PowerShell per fare in modo che il sottosistema di SQL Server Agent esegua l'utilità
sqlps
, che avvia PowerShell 2.0 e importa ilsqlps
modulo.Utilizzare un passaggio del processo del prompt dei comandi per eseguire PowerShell.exe e specificare uno script che importa il modulo
sqlps
.
Limitazioni e restrizioni
Attenzione
Ogni passaggio del processo di SQL Server Agent che esegue PowerShell con il sqlps
modulo avvia un processo che utilizza circa 20 MB di memoria. L'esecuzione simultanea di numerosi passaggi del processo di Windows PowerShell può avere un impatto negativo sulle prestazioni.
Creare un passaggio del processo di PowerShell
Per creare un passaggio del processo di PowerShell
Espandere SQL Server Agent, creare un nuovo processo oppure fare clic con il pulsante destro del mouse su un processo esistente e quindi scegliere Proprietà. Per ulteriori informazioni sulla creazione di un processo, vedere Creazione di processi.
Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.
Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.
Scegliere PowerShell dall'elenco Tipo.
Nell'elenco Esegui come selezionare l'account proxy con le credenziali che verranno utilizzate dal processo.
Nella casella Comando immettere la sintassi dello script di PowerShell che verrà eseguito per il passaggio di processo. In alternativa, è possibile fare clic su Apri e selezionare un file contenente la sintassi dello script.
Fare clic sulla pagina Avanzate per impostare le opzioni seguenti relative al passaggio di processo: l'azione da eseguire in caso di esito positivo o negativo del passaggio, il numero di tentativi di esecuzione del passaggio che devono essere effettuati da SQL Server Agent e gli intervalli tra tentativi successivi.
Creare un passaggio del processo del prompt dei comandi
Per creare un passaggio del processo di CmdExec
Espandere SQL Server Agent, creare un nuovo processo oppure fare clic con il pulsante destro del mouse su un processo esistente e quindi scegliere Proprietà. Per ulteriori informazioni sulla creazione di un processo, vedere Creazione di processi.
Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.
Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.
Nell'elenco Tipo selezionare Sistema operativo (CmdExec).
Nell'elenco Esegui come selezionare l'account proxy con le credenziali che verranno utilizzate dal processo. Per impostazione predefinita, questi passaggi di processo vengono eseguiti nel contesto dell'account di servizio SQL Server Agent.
Nella casella Elabora codice di uscita di un comando eseguito correttamente digitare un valore compreso tra 0 e 999999.
Nella casella Comando , immettere powershell.exe con parametri che specificano lo script di PowerShell da eseguire.
Fare clic sulla pagina Avanzate per impostare le opzioni del passaggio di processo, ad esempio l'azione che verrà eseguita se il passaggio di processo ha esito positivo o negativo, il numero di tentativi di esecuzione del passaggio che verranno eseguiti da SQL Server Agent e il file in cui SQL Server Agent scriverà l'output del passaggio di processo. L'output del passaggio di processo può essere scritto in un file di sistema unicamente dai membri del ruolo predefinito del server sysadmin .