Condividi tramite


Creare un passaggio di processo CmdExec

In questo argomento viene illustrato come creare e definire un passaggio di processo di Microsoft SQL Server Agent in SQL Server 2012 in cui viene utilizzato un programma eseguibile o un comando del sistema operativo tramite SQL Server Management Studio, Transact-SQL o SQL Server Management Objects.

Contenuto dell'argomento

  • Prima di iniziare:  

    Sicurezza

  • Per creare un passaggio di processo di CmdExec utilizzando:

    SQL Server Management Studio

    Transact-SQL

    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.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di SQL Server Management Studio

Per creare un passaggio di processo di CmdExec

  1. In Esplora oggetti connettersi a un'istanza del Motore di database di SQL Server ed espandere tale istanza.

  2. Espandere SQL Server Agent, creare un nuovo processo oppure fare clic con il pulsante destro del mouse su un processo esistente e 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 relative ai passaggi di processo, ad esempio l'operazione da eseguire se il passaggio di processo ha esito positivo o negativo, il numero di tentativi che devono essere eseguiti da SQL Server Agent per l'esecuzione del passaggio di processo e il file in cui SQL Server Agent può scrivere l'output del passaggio di processo. Solo i membri del ruolo predefinito del server sysadmin possono scrivere l'output dei passaggi di processo in un file di sistema operativo.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di Transact-SQL

Per creare un passaggio di 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 e fare clic su Esegui.

    -- creates a job step that 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 ulteriori informazioni, vedere sp_add_jobstep (Transact-SQL)

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di SQL Server Management Objects

Per creare un passaggio di processo di CmdExec

Utilizzare la classe JobStep tramite un linguaggio di programmazione come Visual Basic, Visual C# o PowerShell. Per ulteriori informazioni, vedere SMO (SQL Server Management Objects).

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]