Condividi tramite


Esecuzione di passaggi di Windows PowerShell in SQL Server Agent

Utilizzare SQL Server Agent per eseguire script di SQL Server PowerShell a orari pianificati.

  1. Prima di iniziare:Limitazioni e restrizioni

  2. Per eseguire PowerShell da SQL Server Agent, tramite:PowerShell Job Step, passaggio 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.

  1. Usare un passaggio del processo di PowerShell per avere il sottosistema SQL Server Agent eseguire l'utilitàsqlps, che avvia PowerShell 2.0 e importa il sqlps modulo.

  2. 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 SQL Server Agent che esegue PowerShell con il sqlps modulo avvia un processo che usa 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

  1. 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.

  2. Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.

  3. Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.

  4. Scegliere PowerShell dall'elenco Tipo.

  5. Nell'elenco Esegui come selezionare l'account proxy con le credenziali che verranno utilizzate dal processo.

  6. 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.

  7. 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

  1. 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.

  2. Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.

  3. Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.

  4. Nell'elenco Tipo selezionare Sistema operativo (CmdExec) .

  5. 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.

  6. Nella casella Elabora codice di uscita di un comando eseguito correttamente digitare un valore compreso tra 0 e 999999.

  7. Nella casella Comando , immettere powershell.exe con parametri che specificano lo script di PowerShell da eseguire.

  8. 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 .

Vedere anche

SQL Server PowerShell