Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Istanza 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 Microsoft SQL Server Agent in SQL Server che usa un programma eseguibile o un comando del sistema operativo tramite 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 del processo CmdExec. Questi passaggi del processo vengono eseguiti nel contesto dell'account del servizio SQL Server Agent, a meno che l'utente sysadmin non crei un account proxy. Gli utenti che non sono membri del ruolo sysadmin possono creare passaggi del processo CmdExec se hanno accesso a un account proxy CmdExec.
Autorizzazioni
Per informazioni dettagliate, vedere Implementare la sicurezza di SQL Server Agent.
Uso di SQL Server Management Studio
Per creare un passaggio del processo CmdExec
In Esplora oggetti, connettersi a un'istanza del Motore di Database di SQL Server, e quindi espandere tale istanza.
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à .
Nella finestra di dialogo Proprietà processo, fare clic sulla pagina Passaggi e quindi su Nuovo.
Nella finestra di dialogo Nuovo Passaggio Lavoro, digitare un nome per il passaggio.
Nell'elenco Tipo scegliere Sistema operativo (CmdExec).
Nell'elenco Esegui come, seleziona l'account proxy con le credenziali che il processo utilizzerà. Per impostazione predefinita, i passaggi del processo CmdExec vengono eseguiti nel contesto dell'account del servizio SQL Server Agent.
Nella casella Elabora codice di uscita di un comando riuscito immettere un valore compreso tra 0 e 999999.
Nella casella Comando immettere il comando del sistema operativo o il programma eseguibile. Per un esempio, vedere "Uso di Transact T-SQL.
Fare clic sulla pagina Avanzate per impostare le opzioni del passaggio del processo, ad esempio: 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 il file in cui SQL Server Agent può scrivere l'output del passaggio del processo. Solo i membri del ruolo predefinito del server sysadmin possono scrivere l'output della fase del processo in un file del sistema operativo.
Uso di Transact-SQL
Per creare un passaggio del processo CmdExec
In Esplora oggetti, collegarsi a un'istanza di Database Engine.
Sulla barra Standard fare clic su Nuova query.
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 degli oggetti di gestione di SQL Server
Per creare un passaggio del processo di CmdExec
Usare la classe JobStep usando un linguaggio di programmazione scelto, ad esempio Visual Basic, Visual C# o PowerShell.