Create a Transact-SQL Job StepCreate a Transact-SQL Job Step

In questo argomento viene descritto come eliminare un passaggio del processo di MicrosoftMicrosoft SQL ServerSQL Server Agent che esegue script Transact-SQLTransact-SQL in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLo SQL Server Management Objects.This topic describes how to create a MicrosoftMicrosoft SQL ServerSQL Server Agent job step that executes Transact-SQLTransact-SQL scripts in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or SQL Server Management Objects.

Gli script per passaggi di processo possono chiamare stored procedure e stored procedure estese.These job step scripts may call stored procedures and extended stored procedures. Un singolo passaggio di processo Transact-SQLTransact-SQL può contenere più batch e comandi GO incorporati.A single Transact-SQLTransact-SQL job step can contain multiple batches and embedded GO commands. Per ulteriori informazioni sulla creazione di un processo, vedere Creazione di processi.For more information on creating a job, see Creating Jobs.

Contenuto dell'argomentoIn This Topic

Prima di iniziareBefore You Begin

SecuritySecurity

Per informazioni dettagliate, vedere Implement SQL Server Agent Security.For detailed information, see Implement SQL Server Agent Security.

Utilizzo di SQL Server Management StudioUsing SQL Server Management Studio

Per creare un passaggio di processo Transact-SQLTo create a Transact-SQL job step

  1. In Esplora oggetti connettersi a un'istanza del Motore di database di SQL ServerSQL Server Database Engineed espandere tale istanza.In Object Explorer, connect to an instance of the Motore di database di SQL ServerSQL Server Database Engine, and then expand that instance.

  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à.Expand SQL Server Agent, create a new job or right-click an existing job, and then click Properties.

  3. Nella finestra di dialogo Proprietà processo fare clic sulla pagina Passaggi e quindi su Nuovo.In the Job Properties dialog, click the Steps page, and then click New.

  4. Nella finestra di dialogo Nuovo passaggio di processo digitare il nome del passaggio del processo nella casella Nome passaggio.In the New Job Step dialog, type a job Step name.

  5. Nell'elenco Tipo fare clic su Transact-SQL Script (TSQL).In the Type list, click Transact-SQL Script (TSQL).

  6. Nella casella Comando digitare i batch di comandi Transact-SQLTransact-SQL oppure fare clic su Apri per selezionare un file Transact-SQLTransact-SQL da utilizzare come comando.In the Command box, type the Transact-SQLTransact-SQL command batches, or click Open to select a Transact-SQLTransact-SQL file to use as the command.

  7. Fare clic su Analizza per controllare la sintassi.Click Parse to check your syntax.

  8. Se la sintassi è corretta, viene visualizzato un messaggio che informa che l'analisi è stata completata.The message "Parse succeeded" is displayed when your syntax is correct. Se viene rilevato un errore, correggere la sintassi prima di continuare.If an error is found, correct the syntax before continuing.

  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 ServerSQL Server Agent e il file o la tabella in cui SQL ServerSQL Server Agent scriverà l'output del passaggio di processo.Click the Advanced page to set job step options, such as: what action to take if the job step succeeds or fails, how many times SQL ServerSQL Server Agent should try to execute the job step, and the file or table where SQL ServerSQL Server Agent can write the job step output. L'output del passaggio di processo può essere scritto in un file di sistema unicamente dai membri del ruolo predefinito del server sysadmin .Only members of the sysadmin fixed server role can write job step output to an operating system file. Gli utenti di SQL Server Agent possono registrare l'output in una tabella.All SQL Server Agent users can log output to a table.

  10. Se l'utente è membro del ruolo predefinito del server sysadmin e intende eseguire questo passaggio di processo con un diverso account di accesso SQL, selezionare l'account di accesso SQL dall'elenco Esegui come utente .If you are a member of the sysadmin fixed server role and you want to run this job step as a different SQL login, select the SQL login from the Run as user list.

Utilizzo di Transact-SQLUsing Transact-SQL

Per creare un passaggio di processo Transact-SQLTo create a Transact-SQL job step

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    -- creates a job step that that uses Transact-SQL  
    USE msdb;  
    GO  
    EXEC sp_add_jobstep  
        @job_name = N'Weekly Sales Data Backup',  
        @step_name = N'Set database to read only',  
        @subsystem = N'TSQL',  
        @command = N'ALTER DATABASE SALES SET READ_ONLY',   
        @retry_attempts = 5,  
        @retry_interval = 5 ;  
    GO  
    

Per altre informazioni, vedere sp_add_jobstep (Transact-SQL).For more information, see sp_add_jobstep (Transact-SQL).

Utilizzo di SQL Server Management ObjectsUsing SQL Server Management Objects

Per creare un passaggio di processo Transact-SQLTo create a Transact-SQL job step

Usare la classe JobStep tramite un linguaggio di programmazione a scelta, ad esempio Visual Basic, Visual C# o PowerShell.Use the JobStep class by using a programming language that you choose, such as Visual Basic, Visual C#, or PowerShell.