Membuat dan menjalankan pekerjaan SQL Server Agent di Linux

Aplikasi ke:SQL Server di Linux

Job di SQL Server digunakan untuk menjalankan urutan perintah yang sama secara teratur 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 SQL Server on Linux: Masalah yang diketahui.

Prasyarat

Prasyarat berikut diperlukan untuk menyelesaikan tutorial ini:

Prasyarat berikut bersifat opsional:

Mengaktifkan SQL Server Agent

Untuk menggunakan SQL Server Agent di Linux, Anda harus terlebih dahulu mengaktifkan SQL Server Agent pada komputer yang sudah SQL Server diinstal.

  1. Untuk mengaktifkan SQL Server Agent, jalankan perintah berikut.

    sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
    
  2. 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 paket mssql-server dan dinonaktifkan secara default. Untuk Agen yang disiapkan sebelum CU 4, lihat Install SQL Server Agent di Linux.

Membuat sebuah basis data contoh

Gunakan langkah-langkah berikut untuk membuat database sampel bernama SampleDB. Database ini digunakan untuk pekerjaan pencadangan harian.

  1. Di komputer Linux Anda, buka sesi terminal bash.

  2. Gunakan sqlcmd untuk menjalankan perintah Transact-SQL CREATE DATABASE.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'CREATE DATABASE SampleDB'
    
  3. 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. Tugas menjalankan cadangan harian dari database sampel, SampleDB.

Petunjuk

Anda dapat menggunakan klien T-SQL apa pun untuk menjalankan perintah ini. Misalnya, di Linux Anda dapat menggunakan Menginstal alat baris perintah sqlcmd dan bcp SQL Server di Linux atau ekstensi 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.

  1. 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
    
    EXECUTE dbo.sp_add_job @job_name = N'Daily SampleDB Backup';
    GO
    
  2. Panggil sp_add_jobstep untuk membuat langkah pekerjaan yang membuat cadangan SampleDB database.

    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;
    GO
    
  3. Kemudian buat jadwal harian untuk pekerjaan Anda dengan 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;
    GO
    
  4. Lampirkan jadwal pekerjaan ke pekerjaan dengan 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';
    GO
    
  5. Gunakan sp_add_jobserver untuk menetapkan pekerjaan ke server target. Dalam contoh ini, targetnya adalah server lokal.

    EXECUTE dbo.sp_add_jobserver
        @job_name = N'Daily SampleDB Backup',
        @server_name = N'(local)';
    GO
    
  6. Mulai pekerjaan dengan sp_start_job.

    EXECUTE 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) pada Windows.

  1. Mulai SSMS di Windows dan sambungkan ke instans SQL Server Linux Anda. Untuk informasi selengkapnya, lihat Gunakan SQL Server Management Studio di Windows untuk mengelola SQL Server on Linux.

  2. Verifikasi bahwa Anda telah membuat database sampel bernama SampleDB.

    Cuplikan layar pembuatan database SampleDB.

  3. Pastikan bahwa Agen SQL Server telah diinstal dan dikonfigurasi dengan benar di Linux. 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.

    Screenshot yang menunjukkan cara memverifikasi SQL Server Agent telah diinstal.

  4. Membuat pekerjaan baru.

    Cuplikan layar memperlihatkan cara membuat pekerjaan baru.

  5. Beri nama pekerjaan Anda dan buat langkah pekerjaan Anda.

    Cuplikan layar yang memperlihatkan cara membuat tahap tugas.

  6. Tentukan subsistem yang ingin Anda gunakan dan langkah kerja yang harus dilakukan.

    Cuplikan layar kotak dialog Pekerjaan Baru di SSMS, memperlihatkan halaman Langkah-langkah dengan tombol Baru disorot untuk membuat langkah pekerjaan.

    Cuplikan layar kotak dialog Langkah Pekerjaan Baru memperlihatkan perintah T-SQL BACKUP DATABASE untuk SampleDB dengan tombol OK disorot.

  7. Buat jadwal pekerjaan baru.

    Cuplikan layar kotak dialog Pekerjaan Baru dengan opsi Jadwal disorot dan opsi Baru ditunjukkan.

    Cuplikan layar kotak dialog Pekerjaan Baru dengan opsi OK dipanggil.

  8. Mulai pekerjaan Anda.

    Screenshot menunjukkan cara memulai pekerjaan SQL Server Agent.

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:

Dokumentasi untuk SQL Server Agent