Creare ed eseguire processi di SQL Server Agent in LinuxCreate and run SQL Server Agent jobs on Linux

Processi di SQL Server vengono utilizzati per eseguire regolarmente la stessa sequenza di comandi nel database di SQL Server.SQL Server jobs are used to regularly perform the same sequence of commands in your SQL Server database. In questo argomento vengono forniti esempi di come creare processi di SQL Server Agent in Linux tramite Transact-SQL e SQL Server Management Studio (SSMS).This topic provides examples of how to create SQL Server Agent jobs on Linux using both Transact-SQL and SQL Server Management Studio (SSMS).

Per i problemi noti con SQL Server Agent in questa versione, vedere il note sulla versione.For known issues with SQL Server Agent in this release, see the Release Notes.

PrerequisitiPrerequisites

Per creare ed eseguire i processi, è innanzitutto necessario installare il servizio SQL Server Agent.To create and run jobs, you must first install the SQL Server Agent service. Per istruzioni sull'installazione, vedere il argomento di installazione di SQL Server Agent.For installation instructions, see the SQL Server Agent installation topic.

Creare un processo con Transact-SQLCreate a job with Transact-SQL

I passaggi seguenti forniscono un esempio di come creare un processo di agente SQL Server in Linux con comandi Transact-SQL.The following steps provide an example of how to create a SQL Server Agent job on Linux with Transact-SQL commands. Questi processo in questo esempio viene eseguito un backup giornaliero, un database di esempio SampleDB.These job in this example runs a daily backup on a sample database SampleDB.

Suggerimento

È possibile utilizzare qualsiasi client di T-SQL per eseguire questi comandi.You can use any T-SQL client to run these commands. In Linux, ad esempio, è possibile utilizzare sqlcmd o codice di Visual Studio.For example, on Linux you can use sqlcmd or Visual Studio Code. Da un Server remoto di Windows, è anche possibile eseguire query in SQL Server Management Studio (SSMS) o usare l'interfaccia dell'interfaccia utente per la gestione dei processi, descritto nella sezione successiva.From a remote Windows Server, you can also run queries in SQL Server Management Studio (SSMS) or use the UI interface for job management, which is described in the next section.

  1. Creare il processo.Create the job. L'esempio seguente usa sp_add_job per creare un processo denominato Daily AdventureWorks Backup.The following example uses sp_add_job to create a job named Daily AdventureWorks Backup.

     -- Adds a new job executed by the SQLServerAgent service 
     -- called 'Daily SampleDB Backup'  
     CREATE DATABASE SampleDB
     USE msdb ;  
     GO  
     EXEC dbo.sp_add_job  
         @job_name = N'Daily SampleDB Backup' ;  
     GO
    
  2. Aggiungere uno o più passaggi di processo.Add one or more job steps. Il seguente script Transact-SQL Usa sp_add_jobstep per creare un passaggio di processo che consente di creare un backup del AdventureWlorks2014 database.The following Transact-SQL script uses sp_add_jobstep to create a job step that creates a backup of the AdventureWlorks2014 database.

    -- Adds a step (operation) to the job  
    EXEC sp_add_jobstep  
      @job_name = N'Daily SampleDB Backup',  
      @step_name = N'Backup database',  
      @subsystem = N'TSQL',  
      @command = N'BACKUP DATABASE SampleDB TO DISK = \
      N''/var/opt/mssql/data/SampleDB.bak'' WITH NOFORMAT, NOINIT, \
              NAME = ''SampleDB-full'', SKIP, NOREWIND, NOUNLOAD, STATS = 10',   
      @retry_attempts = 5,  
      @retry_interval = 5 ;  
    GO
    
  3. Creare una pianificazione di processo.Create a job schedule. Questo esempio viene utilizzato sp_add_schedule per creare una pianificazione giornaliera per il processo.This example uses sp_add_schedule to create a daily schedule for the job.

    -- Creates a schedule called 'Daily'  
    EXEC dbo.sp_add_schedule  
     @schedule_name = N'Daily SampleDB',  
     @freq_type = 4,  
     @freq_interval = 1,
     @active_start_time = 233000 ;  
    USE msdb ;  
    GO
    
  4. Collegare la pianificazione del processo al processo.Attach the job schedule to the job. Utilizzare sp_attach_schedule per collegare la pianificazione del processo al processo.Use sp_attach_schedule to attach the job schedule to the job.

    -- Sets the 'Daily' schedule to the 'Daily AdventureWorks Backup' Job  
    EXEC sp_attach_schedule  
     @job_name = N'Daily SampleDB Backup',  
     @schedule_name = N'Daily SampleDB';  
    GO
    
  5. Assegnare il processo a un server di destinazione.Assign the job to a target server. Assegnare il processo a un server di destinazione con sp_add_jobserver.Assign the job to a target server with sp_add_jobserver. In questo esempio, il server locale è la destinazione.In this example, the local server is the target.

    EXEC dbo.sp_add_jobserver  
     @job_name = N'Daily SampleDB Backup',  
     @server_name = N'(LOCAL)';  
    GO
    
  6. Avviare il processo.Start the job.

    EXEC dbo.sp_start_job N' Daily SampleDB Backup' ;
    GO
    

    Creare un processo con SQL Server Management StudioCreate a job with SSMS

È anche possibile creare e gestire i processi in modalità remota tramite SQL Server Management Studio (SSMS) in Windows.You can also create and manage jobs remotely using SQL Server Management Studio (SSMS) on Windows.

  1. Avviare SQL Server Management Studio in Windows e connettersi all'istanza del Server SQL di Linux.Start SSMS on Windows and connect to your Linux SQL Server instance. Per ulteriori informazioni, vedere gestire SQL Server in Linux con SSMS.For more information, see Manage SQL Server on Linux with SSMS.

  2. Creare un nuovo database denominato SampleDB.Create a new database named SampleDB.

    Create a SampleDB database

  3. Verificare che SQL Agent è stato installato e configurato correttamente.Verify that SQL Agent was installed and configured correctly. Cercare sul segno più accanto a SQL Server Agent in Esplora oggetti.Look for the plus sign next to SQL Server Agent in the Object Explorer. Se non è installato SQL Server Agent, vedere installare SQL Server Agent in Linux.If SQL Server Agent is not installed, see Install SQL Server Agent on Linux.

    Verificare che sia stato installato SQL Server Agent

  4. Creare un nuovo processo.Create a new job.

    Creare un nuovo processo

  5. Assegnare il processo di un nome e il passaggio di processo di creazione.Give your job a name and create your job step.

    Creare un passaggio di processo

  6. Specificare il sottosistema che si desidera utilizzare e che il passaggio del processo deve essere eseguita.Specify what subsystem you want to use and what the job step should do.

    Sottosistema di processo

    Azione del passaggio processo

  7. Creare una nuova pianificazione processo.Create a new job schedule.

    Pianificazioni processo

    Pianificazioni processo

  8. Avviare il processo.Start your job.

    Start the SQL Server Agent job

Passaggi successiviNext Steps

Per ulteriori informazioni sulla creazione e gestione di processi di SQL Server Agent, vedere SQL Server Agent.For more information about creating and managing SQL Server Agent jobs, see SQL Server Agent.