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 su Linux
I job di SQL Server vengono utilizzati per eseguire abitualmente la stessa sequenza di comandi nel database SQL Server. Questa esercitazione fornisce un esempio di come creare un processo di SQL Server Agent in Linux usando sia Transact-SQL che SQL Server Management Studio (SSMS).
- Installare SQL Server Agent in Linux
- Creare un nuovo processo per eseguire backup giornalieri del database
- Pianificare ed eseguire l'attività
- Eseguire gli stessi passaggi in SSMS (facoltativo)
Per i problemi noti relativi a SQL Server Agent in Linux, vedere SQL Server in Linux: Problemi noti.
Prerequisiti
Per completare l'esercitazione, è necessario soddisfare i prerequisiti seguenti:
Di seguito vengono indicati i prerequisiti del computer Linux:
- Quickstart: Installare SQL Server e creare un database in Red Hat Enterprise Linux
- Quickstart: Installare SQL Server e creare un database in SUSE Linux Enterprise Server
- Quickstart: Installare SQL Server e creare un database in Ubuntu con strumenti da riga di comando.
Nota
A partire da SQL Server 2025 (17.x), SUSE Linux Enterprise Server (SLES) non è supportato.
I prerequisiti seguenti sono facoltativi:
- Macchina Windows con SSMS:
- Installare SQL Server Management Studio per i passaggi facoltativi di SSMS.
Abilitare SQL Server Agent
Per usare SQL Server Agent in Linux, è prima necessario abilitare SQL Server Agent in un computer in cui è già installato SQL Server.
Per abilitare SQL Server Agent, eseguire il comando seguente.
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled trueRiavviare SQL Server con il comando seguente:
sudo systemctl restart mssql-server
Nota
A partire da SQL Server 2017 (14.x) CU 4, SQL Server Agent è incluso nel pacchetto mssql-server ed è disabilitato per impostazione predefinita. Per Agent configurato prima di CU 4, vedere Installare SQL Server Agent in Linux.
Creare un database di esempio
Seguire questa procedura per creare un database di esempio denominato SampleDB. Questo database viene usato per il processo di backup giornaliero.
Nel computer Linux aprire una sessione del terminale Bash.
Usare sqlcmd per eseguire un comando Transact-SQL
CREATE DATABASE./opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'CREATE DATABASE SampleDB'Verificare che il database sia stato creato elencando i database nel server.
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'SELECT name FROM sys.databases'
Creare un job con Transact-SQL
La procedura seguente consente di creare un processo di SQL Server Agent in Linux con comandi Transact-SQL. Il compito esegue un backup giornaliero del database di esempio SampleDB.
Suggerimento
È possibile usare qualsiasi client T-SQL per eseguire questi comandi. Ad esempio, in Linux è possibile usare Installa gli strumenti da riga di comando sqlcmd e bcp di SQL Server su Linux o estensione SQL Server per Visual Studio Code. Da un Windows Server remoto è anche possibile eseguire query in SQL Server Management Studio (SSMS) o usare l'interfaccia utente per la gestione dei processi, descritta nella sezione successiva.
Usare sp_add_job per creare un processo denominato
Daily SampleDB Backup.-- Adds a new job executed by the SQLServerAgent service -- called 'Daily SampleDB Backup' USE msdb; GO EXECUTE dbo.sp_add_job @job_name = N'Daily SampleDB Backup'; GOChiamare sp_add_jobstep per creare un passaggio di processo che crea un backup del
SampleDBdatabase.EXECUTE 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; GOCrea quindi una pianificazione giornaliera per il tuo lavoro con sp_add_schedule.
-- Creates a schedule called 'Daily' EXECUTE dbo.sp_add_schedule @schedule_name = N'Daily SampleDB', @freq_type = 4, @freq_interval = 1, @active_start_time = 233000; USE msdb; GOAllega il programma del processo al processo con sp_attach_schedule.
-- Sets the 'Daily' schedule to the 'Daily SampleDB Backup' Job EXECUTE sp_attach_schedule @job_name = N'Daily SampleDB Backup', @schedule_name = N'Daily SampleDB'; GOUsare sp_add_jobserver per assegnare il processo a un server di destinazione. In questo esempio la destinazione è il server locale.
EXECUTE dbo.sp_add_jobserver @job_name = N'Daily SampleDB Backup', @server_name = N'(local)'; GOAvviare il processo con sp_start_job.
EXECUTE dbo.sp_start_job N' Daily SampleDB Backup'; GO
Creare un'attività con SSMS
È anche possibile creare e gestire i processi in modalità remota usando SQL Server Management Studio (SSMS) in Windows.
Avviare SSMS in Windows e connettersi all'istanza di SQL Server Linux. Per ulteriori informazioni, vedere Utilizzare SQL Server Management Studio su Windows per gestire SQL Server su Linux.
Verificare di aver creato un database di esempio denominato
SampleDB.Verificare che SQL Agent sia stato Installare SQL Server Agent in Linux e configurato correttamente. Cercare il segno più accanto a SQL Server Agent nella Esplora oggetti. Se SQL Server Agent non è abilitato, provare a riavviare il servizio mssql-server in Linux.
Creare un nuovo lavoro.
Dai un nome alla tua attività e crea il passaggio dell'attività.
Specificare il sottosistema che si vuole usare e cosa deve fare la fase del lavoro.
Creare una nuova pianificazione delle attività.
Inizia il tuo lavoro.
Passaggio successivo
In questo tutorial, hai imparato come:
- Installare SQL Server Agent in Linux
- Usare Transact-SQL e stored procedure di sistema per creare processi
- Creare un processo che esegue i backup giornalieri del database
- Usare l'interfaccia utente di SSMS per creare e gestire i processi
Successivamente, esplora altre capacità per creare e gestire i lavori: