Creare un passaggio di processo CmdExec

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 in SQL Server un passaggio di processo di Microsoft SQL Server Agent che usa un programma eseguibile o un comando del sistema operativo mediante SQL Server Management Studio, Transact-SQL o SQL Server Management Objects.

Prima di iniziare

Sicurezza

Per impostazione predefinita, solo i membri del ruolo predefinito del server sysadmin possono creare passaggi di processo CmdExec. Questi passaggi di processo vengono eseguiti nel contesto dell'account di servizio SQL Server Agent a meno che l'utente sysadmin crei un account proxy. Gli utenti che non sono membri del ruolo sysadmin possono creare passaggi di processo CmdExec se hanno accesso a un account proxy CmdExec.

Autorizzazioni

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

Utilizzo di SQL Server Management Studio

Per creare un passaggio del processo di CmdExec

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

  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. Nell'elenco Tipo selezionare Sistema operativo (CmdExec).

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

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

  8. Nella casella Comando digitare il comando di sistema operativo o programma eseguibile. Per un esempio vedere "Utilizzo di Transact-SQL".

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

Utilizzo di Transact-SQL

Per creare un passaggio del processo di CmdExec

  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 job step that uses CmdExec  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'CMDEXEC',  
        @command = 'C:\clickme_scripts\SQL11\PostBOLReorg GetHsX.exe',   
        @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 del processo di CmdExec

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