Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
SQL Server Agent adalah layanan Microsoft Windows yang menjalankan tugas administratif terjadwal, yang disebut pekerjaan di SQL Server 2014.
Dalam Topik Ini
Manfaat SQL Server Agent
SQL Server Agent menggunakan SQL Server untuk menyimpan informasi pekerjaan. Pekerjaan berisi satu atau beberapa langkah pekerjaan. Setiap langkah memiliki tugasnya sendiri, misalnya, mencadangkan basis data.
SQL Server Agent dapat menjalankan pekerjaan sesuai jadwal, sebagai respons terhadap peristiwa tertentu, atau sesuai permintaan. Misalnya, jika Anda ingin mencadangkan semua server perusahaan setiap hari kerja di luar jam kerja, Anda dapat mengotomatiskan pekerjaan ini. Jadwalkan pencadangan untuk berjalan setelah pukul 22:00 Senin hingga Jumat; jika cadangan mengalami masalah, SQL Server Agent dapat merekam peristiwa dan memberi tahu Anda.
Nota
Secara default, layanan SQL Server Agent dinonaktifkan ketika SQL Server 2014 diinstal kecuali pengguna secara eksplisit memilih untuk memulai layanan secara otomatis.
Komponen Agen SQL Server
SQL Server Agent menggunakan komponen berikut untuk menentukan tugas yang akan dilakukan, kapan harus melakukan tugas, dan cara melaporkan keberhasilan atau kegagalan tugas.
Pekerjaan
Pekerjaan adalah serangkaian tindakan tertentu yang dilakukan SQL Server Agent. Gunakan pekerjaan untuk menentukan tugas administratif yang dapat dijalankan satu atau beberapa kali dan dipantau keberhasilan atau kegagalannya. Pekerjaan dapat berjalan di satu server lokal atau di beberapa server jarak jauh.
Penting
Pekerjaan SQL Server Agent yang berjalan pada saat peristiwa failover pada instans kluster failover SQL Server tidak dilanjutkan setelah failover ke node kluster failover lainnya. Pekerjaan SQL Server Agent yang berjalan pada saat simpul Hyper-V dijeda tidak dilanjutkan jika jeda menyebabkan failover ke simpul lain. Pekerjaan yang dimulai tetapi gagal diselesaikan karena peristiwa failover dicatat sebagai dimulai, tetapi tidak menampilkan entri log tambahan untuk penyelesaian atau kegagalan. Pekerjaan SQL Server Agent dalam skenario ini tampaknya belum pernah berakhir.
Anda dapat menjalankan pekerjaan dengan beberapa cara:
Berdasarkan satu atau lebih jadwal.
Menanggapi satu atau beberapa peringatan.
Dengan menjalankan sebuah prosedur tersimpan sp_start_job.
Setiap tindakan dalam pekerjaan adalah sebuah langkah dalam pekerjaan . Misalnya, langkah pekerjaan mungkin terdiri dari menjalankan pernyataan Transact-SQL, menjalankan paket SSIS, atau mengeluarkan perintah ke server Analysis Services. Langkah-langkah pekerjaan dikelola sebagai bagian dari pekerjaan.
Setiap langkah pekerjaan berjalan dalam konteks keamanan tertentu. Untuk langkah-langkah pekerjaan yang menggunakan Transact-SQL, gunakan EXECUTE AS pernyataan untuk mengatur konteks keamanan untuk langkah pekerjaan. Untuk jenis langkah pekerjaan lainnya, gunakan akun proksi untuk mengatur konteks keamanan untuk langkah pekerjaan.
Jadwal
Jadwal menentukan kapan sebuah tugas dijalankan. Lebih dari satu pekerjaan dapat berjalan pada jadwal yang sama, dan lebih dari satu jadwal dapat berlaku untuk pekerjaan yang sama. Jadwal dapat menentukan kondisi berikut untuk waktu ketika pekerjaan berjalan:
Setiap kali SQL Server Agent dimulai.
Setiap kali penggunaan CPU komputer berada pada tingkat yang Anda tetapkan sebagai siaga.
Satu kali, pada tanggal dan waktu tertentu.
Dalam jadwal yang berulang.
Untuk informasi selengkapnya, lihat Membuat dan Melampirkan Jadwal ke Pekerjaan.
Notifikasi
Pemberitahuan adalah respons otomatis terhadap peristiwa tertentu. Misalnya, peristiwa dapat menjadi pekerjaan yang dimulai atau sumber daya sistem yang mencapai ambang batas tertentu. Anda menentukan kondisi di mana pemberitahuan terjadi.
Pemberitahuan dapat merespons salah satu kondisi berikut:
Peristiwa SQL Server
Kondisi performa SQL Server
Peristiwa Microsoft Windows Management Instrumentation (WMI) di komputer tempat SQL Server Agent berjalan
Sebuah peringatan dapat melakukan tindakan-tindakan berikut:
Beri tahu satu atau lebih operator
Menjalankan pekerjaan
Untuk informasi selengkapnya, lihat Pemberitahuan.
Para Operator
Operator menentukan informasi kontak untuk individu yang bertanggung jawab atas pemeliharaan satu atau beberapa instans SQL Server. Di beberapa perusahaan, tanggung jawab operator ditetapkan untuk satu individu. Di perusahaan dengan beberapa server, banyak individu dapat berbagi tanggung jawab operator. Operator tidak berisi informasi keamanan, dan tidak mendefinisikan prinsip keamanan.
SQL Server dapat memberi tahu operator pemberitahuan melalui satu atau beberapa hal berikut:
Email
Pager (melalui email)
kirim pesan jaringan
Nota
Untuk mengirim pemberitahuan dengan menggunakan kirim net, layanan Windows Messenger harus dimulai di komputer tempat SQL Server Agent berada.
Penting
Opsi Pager dan net send akan dihapus dari SQL Server Agent di versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur-fitur ini.
Untuk mengirim pemberitahuan ke operator dengan menggunakan email atau pager, Anda harus mengonfigurasi SQL Server Agent untuk menggunakan Email Database. Untuk informasi selengkapnya, lihat Database Mail.
Anda dapat menentukan operator sebagai alias untuk sekelompok individu. Dengan cara ini, semua anggota alias tersebut diberi tahu pada saat yang sama. Untuk informasi selengkapnya, lihat Operator.
Keamanan untuk Administrasi Agen SQL Server
SQL Server Agent menggunakan peran database tetap SQLAgentUserRole, SQLAgentReaderRole, dan SQLAgentOperatorRole dalam database msdb untuk mengontrol akses ke SQL Server Agent bagi pengguna yang bukan anggota sysadmin peran server tetap. Selain peran database tetap ini, subsistem dan proksi membantu administrator database memastikan bahwa setiap langkah pekerjaan berjalan dengan izin minimum yang diperlukan untuk melakukan tugasnya.
Peranan
Anggota peran database tetap SQLAgentUserRole, SQLAgentReaderRole, dan SQLAgentOperatorRole dalam msdb, dan anggota sysadmin peran server tetap memiliki akses ke SQL Server Agent. Pengguna yang tidak termasuk dalam salah satu dari peran ini tidak dapat menggunakan SQL Server Agent. Untuk informasi selengkapnya tentang peran yang digunakan oleh SQL Server Agent, lihat Menerapkan SQL Server Agent Security.
Subsistem
Subsistem adalah objek yang telah ditentukan sebelumnya yang mewakili fungsionalitas yang tersedia untuk langkah pekerjaan. Setiap proksi memiliki akses ke satu atau beberapa subsistem. Subsistem memberikan keamanan karena membatasi akses ke fungsionalitas yang tersedia untuk proksi. Setiap langkah pekerjaan berjalan dalam konteks proksi, kecuali untuk langkah-langkah pekerjaan Transact-SQL. Transact-SQL langkah-langkah pekerjaan menggunakan EXECUTE AS perintah untuk mengatur konteks keamanan.
SQL Server menentukan subsistem yang tercantum dalam tabel berikut:
| Nama subsistem | Deskripsi |
|---|---|
| Skrip Microsoft ActiveX | Jalankan langkah pekerjaan pembuatan skrip ActiveX. **Penting** Subsistem Scripting ActiveX akan dihapus dari SQL Server Agent di versi MicrosoftSQL Server mendatang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. |
| Sistem Operasi (CmdExec) | Jalankan program yang dapat dieksekusi. |
| PowerShell | Jalankan langkah pekerjaan pembuatan skrip PowerShell. |
| Replikasi Distributor | Jalankan langkah pekerjaan yang mengaktifkan Agen Distribusi replikasi. |
| Penggabungan Replikasi | Jalankan langkah tugas yang mengaktifkan Agen Penggabungan Replikasi. |
| Pembaca Antrean Replikasi | Jalankan langkah pekerjaan yang mengaktifkan Agen Pembaca Antrean Replikasi. |
| Cuplikan Replikasi | Jalankan langkah pekerjaan yang mengaktifkan Agen Rekam Jepret replikasi. |
| Pembaca Log Transaksi Replikasi | Jalankan langkah pekerjaan yang mengaktifkan Agen Pembaca Log replikasi. |
| Perintah Analysis Services | Jalankan perintah Analysis Services. |
| Kueri Layanan Analisis | Jalankan kueri Analysis Services. |
| Pelaksanaan paket SSIS | Jalankan paket SSIS. |
Nota
Karena Transact-SQL langkah pekerjaan tidak menggunakan proksi, tidak ada subsistem SQL Server Agent untuk langkah-langkah pekerjaan Transact-SQL.
SQL Server Agent menerapkan pembatasan subsistem bahkan ketika prinsipal keamanan untuk proksi biasanya akan memiliki izin untuk menjalankan tugas dalam tahap pekerjaan. Misalnya, proksi untuk pengguna yang merupakan anggota peran server tetap sysadmin tidak dapat menjalankan langkah pekerjaan SSIS kecuali proksi memiliki akses ke subsistem SSIS, meskipun pengguna dapat menjalankan paket SSIS.
Proksi
SQL Server Agent menggunakan proksi untuk mengelola konteks keamanan. Proksi dapat digunakan dalam lebih dari satu tahap pekerjaan. Anggota peran server tetap sysadmin dapat membuat proksi.
Setiap proksi sesuai dengan kredensial keamanan. Setiap proksi dapat dikaitkan dengan sekumpulan subsistem dan serangkaian login. Proksi hanya dapat digunakan untuk langkah-langkah pekerjaan yang menggunakan subsistem yang terkait dengan proksi. Untuk membuat langkah pekerjaan yang menggunakan proksi tertentu, pemilik pekerjaan harus menggunakan login yang terkait dengan proksi tersebut atau menjadi anggota peran dengan akses tak terbatas ke proksi. Anggota peran server tetap sysadmin memiliki akses sepenuhnya ke proksi. Anggota SQLAgentUserRole, SQLAgentReaderRole, atau SQLAgentOperatorRole hanya dapat menggunakan proksi tempat mereka telah diberikan akses tertentu. Setiap pengguna yang merupakan anggota dari salah satu peran database tetap Agen SQL Server ini harus diberikan akses ke proksi tertentu sehingga pengguna dapat membuat langkah-langkah pekerjaan yang menggunakan proksi tersebut.
Tugas Terkait
Gunakan langkah-langkah berikut untuk mengonfigurasi SQL Server Agent untuk mengotomatiskan administrasi SQL Server:
Menetapkan tugas administratif atau peristiwa server mana yang terjadi secara teratur dan apakah tugas atau peristiwa ini dapat dikelola secara terprogram. Tugas adalah kandidat yang baik untuk otomatisasi jika melibatkan urutan langkah yang dapat diprediksi dan terjadi pada waktu tertentu atau sebagai respons terhadap peristiwa tertentu.
Tentukan serangkaian pekerjaan, jadwal, pemberitahuan, dan operator dengan menggunakan SQL Server Management Studio, Transact-SQL skrip, atau SQL Server Management Objects (SMO). Untuk informasi selengkapnya, lihat Menciptakan Pekerjaan.
Jalankan pekerjaan SQL Server Agent yang telah Anda tentukan.
Nota
Untuk instans default SQL Server, layanan SQL Server diberi nama SQLSERVERAGENT. Untuk instans yang diberi nama, layanan SQL Server Agent diberi nama SQLAgent$instancename.
Jika Anda menjalankan beberapa instans SQL Server, Anda dapat menggunakan administrasi multiserver untuk mengotomatiskan tugas yang umum di semua instans. Untuk informasi selengkapnya, lihat Administrasi Otomatis di SeluruhPerusahaan.
Gunakan tugas berikut untuk mulai menggunakan SQL Server Agent:
| Deskripsi | Topik |
| Menjelaskan cara mengonfigurasi SQL Server Agent. | Mengonfigurasi SQL Server Agent |
| Menjelaskan cara memulai, menghentikan, dan menjeda layanan SQL Server Agent. | Mulai, Hentikan, atau Jeda Layanan Agen SQL Server |
| Menjelaskan pertimbangan untuk menentukan akun untuk layanan SQL Server Agent. | Pilih Akun untuk SQL Server Agent Service |
| Menjelaskan cara menggunakan log kesalahan SQL Server Agent. | Log Kesalahan Agen SQL Server |
| Menjelaskan cara menggunakan objek performa. | Menggunakan Objek Kinerja |
| Menjelaskan Wizard Rencana Pemeliharaan, yang merupakan utilitas yang dapat Anda gunakan untuk membantu membuat pekerjaan, pemberitahuan, dan operator untuk mengotomatiskan administrasi instans SQL Server. | Menggunakan Wizard Rencana Pemeliharaan |
| Menjelaskan cara mengotomatiskan tugas administratif menggunakan SQL Server Agent. | Tugas Administrasi Otomatis (SQL Server Agent) |