Bagikan melalui


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 SQL Server di Linux: Masalah umum.

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 menginstal SQL Server.

  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 mssql-server paket dan dinonaktifkan secara default. Untuk Agen yang disiapkan sebelum CU 4, lihat Menginstal 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 menginstal dan menggunakan Perangkat alat baris perintah SQL Server sqlcmd dan bcp 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) di Windows.

  1. 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.

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

    Cuplikan layar pembuatan database SampleDB.

  3. 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.

    Cuplikan layar memperlihatkan 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 memperlihatkan subsistem pekerjaan.

    Cuplikan layar memperlihatkan tindakan pada langkah pekerjaan.

  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.

    Cuplikan layar memperlihatkan 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: