Membuat dan menjalankan pekerjaan SQL Server Agent di Linux
Berlaku untuk: SQL Server - Linux
Pekerjaan SQL Server digunakan untuk secara teratur melakukan urutan perintah yang sama dalam database SQL Server Anda. Tutorial ini memberikan contoh cara membuat pekerjaan SQL Server Agent di Linux menggunakan Transact-SQL dan SQL Server Management Studio (SSMS).
- Menginstal SQL Server Agent di Linux
- Membuat pekerjaan baru untuk melakukan pencadangan database harian
- Menjadwalkan dan menjalankan pekerjaan
- Lakukan langkah yang sama di SSMS (opsional)
Untuk masalah umum dengan SQL Server Agent di Linux, lihat Catatan rilis untuk SQL Server 2017 di Linux.
Prasyarat
Prasyarat berikut diperlukan untuk menyelesaikan tutorial ini:
Komputer Linux dengan prasyarat berikut:
Prasyarat berikut bersifat opsional:
- Komputer Windows dengan SSMS:
- Unduh SQL Server Management Studio (SSMS) untuk langkah-langkah SSMS opsional.
Mengaktifkan SQL Server Agent
Untuk menggunakan SQL Server Agent di Linux, Anda harus terlebih dahulu mengaktifkan SQL Server Agent pada komputer yang sudah menginstal SQL Server.
Untuk mengaktifkan SQL Server Agent, ikuti langkah di bawah ini.
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
Mulai ulang SQL Server dengan perintah berikut:
sudo systemctl restart mssql-server
Catatan
Dimulai dengan SQL Server 2017 (14.x) CU 4, SQL Server Agent disertakan dengan mssql-server
paket dan dinonaktifkan secara default. Untuk Penyiapan Agen sebelum CU 4, lihat Menginstal SQL Server Agent di Linux.
Membuat database sampel
Gunakan langkah-langkah berikut untuk membuat database sampel bernama SampleDB
. Database ini digunakan untuk pekerjaan pencadangan harian.
Di komputer Linux Anda, buka sesi terminal bash.
Gunakan sqlcmd untuk menjalankan perintah Transact-SQL
CREATE DATABASE
./opt/mssql-tools/bin/sqlcmd -S localhost -U SA -Q 'CREATE DATABASE SampleDB'
Verifikasi bahwa database dibuat dengan mencantumkan database di server Anda.
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -Q 'SELECT Name FROM sys.Databases'
Membuat pekerjaan dengan Transact-SQL
Langkah-langkah berikut membuat pekerjaan SQL Server Agent di Linux dengan perintah Transact-SQL. Pekerjaan menjalankan cadangan harian dari database sampel, SampleDB
.
Tip
Anda dapat menggunakan klien T-SQL apa pun untuk menjalankan perintah ini. Misalnya, di Linux Anda dapat menggunakan Instal alat baris perintah SQL Server sqlcmd dan bcp pada ekstensi Linux atau SQL Server untuk Visual Studio Code. Dari Windows Server jarak jauh, Anda juga dapat menjalankan kueri di SQL Server Management Studio (SSMS) atau menggunakan antarmuka UI untuk manajemen pekerjaan, yang dijelaskan di bagian berikutnya.
Gunakan sp_add_job untuk membuat pekerjaan bernama
Daily SampleDB Backup
.-- Adds a new job executed by the SQLServerAgent service -- called 'Daily SampleDB Backup' USE msdb; GO EXEC dbo.sp_add_job @job_name = N'Daily SampleDB Backup'; GO
Panggil sp_add_jobstep untuk membuat langkah pekerjaan yang membuat cadangan
SampleDB
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
Kemudian buat jadwal harian untuk pekerjaan Anda dengan sp_add_schedule.
-- 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
Lampirkan jadwal pekerjaan ke pekerjaan dengan sp_attach_schedule.
-- Sets the 'Daily' schedule to the 'Daily SampleDB Backup' Job EXEC sp_attach_schedule @job_name = N'Daily SampleDB Backup', @schedule_name = N'Daily SampleDB'; GO
Gunakan sp_add_jobserver untuk menetapkan pekerjaan ke server target. Dalam contoh ini, targetnya adalah server lokal.
EXEC dbo.sp_add_jobserver @job_name = N'Daily SampleDB Backup', @server_name = N'(local)'; GO
Mulai pekerjaan dengan sp_start_job.
EXEC dbo.sp_start_job N' Daily SampleDB Backup' ; GO
Membuat pekerjaan dengan SSMS
Anda juga dapat membuat dan mengelola pekerjaan dari jarak jauh menggunakan SQL Server Management Studio (SSMS) di Windows.
Mulai SSMS di Windows dan sambungkan ke instans Linux SQL Server Anda. Untuk informasi selengkapnya, lihat Menggunakan SQL Server Management Studio di Windows untuk mengelola SQL Server di Linux.
Verifikasi bahwa Anda telah membuat database sampel bernama
SampleDB
.Verifikasi bahwa Agen SQL menginstal SQL Server Agent di Linux dan dikonfigurasi dengan benar. Cari tanda plus di samping SQL Server Agent di Object Explorer. Jika SQL Server Agent tidak diaktifkan, coba mulai ulang layanan mssql-server di Linux.
Membuat pekerjaan baru.
Beri nama pekerjaan Anda dan buat langkah pekerjaan Anda.
Tentukan subsistem apa yang ingin Anda gunakan dan apa yang harus dilakukan langkah pekerjaan.
Buat jadwal pekerjaan baru.
Mulai pekerjaan Anda.
Langkah selanjutnya
Dalam tutorial ini, Anda mempelajari cara:
- Menginstal SQL Server Agent di Linux
- Gunakan Transact-SQL dan prosedur tersimpan sistem untuk membuat pekerjaan
- Membuat pekerjaan yang melakukan pencadangan database harian
- Menggunakan UI SSMS untuk membuat dan mengelola pekerjaan
Selanjutnya, jelajahi kemampuan lain untuk membuat dan mengelola pekerjaan: