Creare un passaggio di processo di uno script di PowerShell

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Importante

In Istanza gestita di SQL di Azure sono attualmente supportate la maggior parte delle funzionalità di SQL Server Agent, ma non tutte. Per informazioni dettagliate, vedere Differenze T-SQL tra Istanza gestita di SQL di Azure e SQL Server.

Questo argomento descrive come creare e definire un passaggio di processo di SQL Server Agent che esegue uno script di PowerShell in SQL Server mediante SQL Server Management Studio o Transact-SQL.

Prima di iniziare

Sicurezza

Per informazioni dettagliate, vedere Implementazione della sicurezza di SQL Server Agent.

Commenti e suggerimenti: se si trovano informazioni obsolete o non corrette in questo articolo, ad esempio in un passaggio di una procedura o in un esempio di codice, è possibile comunicarlo a Microsoft. È possibile fare clic sul pulsante Questa pagina nella sezione Commenti nella parte inferiore della pagina. Ogni commento o suggerimento su SQL viene letto, in genere il giorno successivo. Grazie.

Utilizzo di SQL Server Management Studio

Per creare un passaggio di processo di uno script di PowerShell

  1. In Esplora oggetti connettersi a un'istanza del motore di database di SQL Server e, successivamente, espanderla.

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

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

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

  5. Scegliere PowerShell dall'elenco Tipo.

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

  7. 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. Per un esempio di script di PowerShell, vedere di seguito Utilizzo di Transact-SQL .

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

Utilizzo di Transact-SQL

Per creare un passaggio di processo di uno script di PowerShell

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    -- creates a PowerShell job step that finds the processes
    -- that use more than 1000 MB of memory and kills them  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Kills all processes that use more than 1000 MB of memory',  
        @subsystem = N'PowerShell',  
        @command = N'Get-Process | Where-Object { $_.WS -gt 1000MB } | Stop-Process',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

Per altre informazioni, vedere sp_add_jobstep (Transact-SQL).

Utilizzo di SQL Server Management Objects

Per creare un passaggio di processo di uno script di PowerShell

Usare la classe JobStep tramite un linguaggio di programmazione come Visual Basic, Visual C# o PowerShell.