Condividi tramite


Creare un passaggio del processo di script PowerShell

Si applica a:SQL ServerIstanza gestita di Azure SQL

Importante

In Azure SQL Managed Instance, sono attualmente supportate la maggior parte, ma non tutte, le funzionalità di SQL Server Agent. Per informazioni dettagliate, vedere differenze T-SQL tra Azure SQL Managed Instance e SQL Server o limitazioni dei processi di SQL Agent su Azure SQL Managed Instance.

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

Prima di iniziare

Sicurezza

Per informazioni dettagliate, vedere Implementare la sicurezza di SQL Server Agent.

Uso di SQL Server Management Studio

Per creare un passaggio del processo di script PowerShell

  1. In Esplora oggetti, connettersi a un'istanza del Motore di Database di SQL Server, e quindi espandere tale istanza.

  2. Espandere SQL Server Agent, creare un nuovo processo o fare clic con il pulsante destro del mouse su un processo esistente e quindi scegliere proprietà . Per altre informazioni sulla creazione di un lavoro, vedere Creazione di lavori.

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

  4. Nella finestra di dialogo Nuovo Passaggio Lavoro, digitare un nome per il passaggio.

  5. Nell'elenco Tipo fare clic su PowerShell.

  6. Nell'elenco Esegui come, selezionare l'account proxy con le credenziali che verranno usate dall'attività.

  7. Nella casella Comando immettere la sintassi dello script di PowerShell che verrà eseguita per il passaggio del processo. In alternativa, fare clic su Apri e selezionare un file contenente la sintassi dello script. Per un esempio di script di PowerShell, vedere Uso di Transact-SQL di seguito.

  8. Fare clic sulla pagina Avanzate per impostare le opzioni seguenti per il passaggio del processo: quale azione eseguire se il passaggio del processo ha esito positivo o negativo, quante volte SQL Server Agent deve tentare di eseguire il passaggio del processo e la frequenza con cui eseguire i tentativi.

Uso di Transact-SQL

Per creare un passaggio del processo di script PowerShell

  1. In Esplora oggetti, collegarsi a un'istanza di Database Engine.

  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 degli oggetti di gestione di SQL Server

Per creare un passaggio di lavoro dello script di PowerShell

Usare la classe JobStep usando un linguaggio di programmazione scelto, ad esempio Visual Basic, Visual C# o PowerShell.