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 Catatan rilis untuk SQL Server 2017 di Linux.

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, ikuti langkah di bawah ini.

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

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

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

    -- 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. 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
    
  4. 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
    
  5. 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
    
  6. 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.

  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.

    Membuat 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 memperlihatkan cara membuat langkah pekerjaan.

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

    Cuplikan layar memperlihatkan subsistem pekerjaan.

    Cuplikan layar memperlihatkan tindakan langkah pekerjaan.

  7. Buat jadwal pekerjaan baru.

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

    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: