SQL Server Agent Peran Database Tetap
Berlaku untuk: SQL Server Azure SQL Managed Instance
Penting
Pada Azure SQL Managed Instance, sebagian besar, tetapi tidak semua fitur SQL Server Agent saat ini didukung. Lihat Azure SQL Managed Instance perbedaan T-SQL dari SQL Server untuk detailnya.
SQL Server memiliki peran database tetap database msdb berikut, yang memberi administrator kontrol yang lebih baik atas akses ke SQL Server Agent. Peran yang tercantum dari akses paling sedikit hingga paling istimewa adalah:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Ketika pengguna yang bukan anggota salah satu peran ini terhubung ke SQL Server di SQL Server Management Studio, simpul SQL Server Agent di Object Explorer tidak terlihat. Pengguna harus menjadi anggota salah satu peran database tetap ini atau anggota peran server tetap sysadmin untuk menggunakan SQL Server Agent.
Izin SQL Server Agent Peran Database Tetap
Izin peran database SQL Server Agent bersifat konsentris dalam kaitannya satu sama lain -- peran yang lebih istimewa mewarisi izin peran yang kurang istimewa pada objek SQL Server Agent (termasuk pemberitahuan, operator, pekerjaan, jadwal, dan proksi). Misalnya, jika anggota SQLAgentUserRole dengan hak istimewa paling sedikit telah diberikan akses ke proxy_A, anggota SQLAgentReaderRole dan SQLAgentOperatorRole secara otomatis memiliki akses ke proksi ini meskipun akses ke proxy_A belum diberikan secara eksplisit kepada mereka. Ini mungkin memiliki implikasi keamanan, yang dibahas di bagian berikut tentang setiap peran.
Izin SQLAgentUserRole
SQLAgentUserRole adalah hak istimewa paling sedikit dari peran database tetap SQL Server Agent. Ini hanya memiliki izin pada operator, pekerjaan lokal, dan jadwal pekerjaan. Anggota SQLAgentUserRole hanya memiliki izin pada pekerjaan lokal dan jadwal pekerjaan yang mereka miliki. Mereka tidak dapat menggunakan pekerjaan multiserver (pekerjaan server master dan target), dan mereka tidak dapat mengubah kepemilikan pekerjaan untuk mendapatkan akses ke pekerjaan yang belum mereka miliki. Anggota SQLAgentUserRole dapat melihat daftar proksi yang tersedia hanya dalam kotak dialog Properti Langkah Pekerjaan SQL Server Management Studio. Hanya simpul Pekerjaan di SQL Server Management Studio Object Explorer yang dapat dilihat oleh anggota SQLAgentUserRole.
Penting
Pertimbangkan implikasi keamanan sebelum memberikan akses proksi kepada anggotaperan database agen SQL Server. SQLAgentReaderRole dan SQLAgentOperatorRole secara otomatis menjadi anggota SQLAgentUserRole. Ini berarti bahwa anggota SQLAgentReaderRole dan SQLAgentOperatorRole memiliki akses ke semua proksi SQL Server Agent yang telah diberikan kepada SQLAgentUserRole dan dapat menggunakan proksi tersebut.
Tabel berikut ini meringkas izin SQLAgentUserRole pada objek SQL Server Agent.
Tindakan | Operator | Pekerjaan lokal (hanya pekerjaan yang dimiliki) |
Jadwal pekerjaan (hanya jadwal yang dimiliki) |
Proksi |
---|---|---|---|---|
Membuat/mengubah/menghapus | Tidak | Ya Tidak dapat mengubah kepemilikan pekerjaan. |
Ya | Tidak |
Tampilkan daftar (hitung) | Ya Bisa mendapatkan daftar operator yang tersedia untuk digunakan dalam sp_notify_operator dan kotak dialog Properti Pekerjaan dari Management Studio. |
Ya | Ya | Ya Daftar proksi hanya tersedia dalam kotak dialog Properti Langkah Pekerjaan di Management Studio. |
Aktifkan/Nonaktifkan | Tidak | Ya | Ya | Tidak berlaku |
Lihat Properti | Tidak | Ya | Ya | Tidak |
Jalankan/hentikan/mulai | Tidak berlaku | Ya | Tidak berlaku | Tidak berlaku |
Menampilkan riwayat pekerjaan | Tidak berlaku | Ya | Tidak berlaku | Tidak berlaku |
Menghapus riwayat pekerjaan | Tidak berlaku | Tidak Anggota SQLAgentUserRole harus secara eksplisit diberikan izin EXECUTE pada sp_purge_jobhistory untuk menghapus riwayat pekerjaan pada pekerjaan yang mereka miliki. Mereka tidak dapat menghapus riwayat pekerjaan untuk pekerjaan lain. |
Tidak berlaku | Tidak berlaku |
Lampirkan/lepas | Tidak berlaku | Tidak berlaku | Ya | Tidak berlaku |
Izin SQLAgentReaderRole
SQLAgentReaderRole mencakup semua izin SQLAgentUserRole serta izin untuk melihat daftar pekerjaan multiserver yang tersedia, propertinya, dan riwayatnya. Anggota peran ini juga dapat melihat daftar semua pekerjaan dan jadwal pekerjaan yang tersedia dan propertinya, bukan hanya pekerjaan dan jadwal pekerjaan yang mereka miliki. Anggota SQLAgentReaderRole tidak dapat mengubah kepemilikan pekerjaan untuk mendapatkan akses ke pekerjaan yang belum mereka miliki. Hanya simpul Pekerjaan di SQL Server Management Studio Object Explorer yang terlihat oleh anggota SQLAgentReaderRole.
Penting
Pertimbangkan implikasi keamanan sebelum memberikan akses proksi kepada anggotaSQL Server Agentdatabaseroles. Anggota SQLAgentReaderRole secara otomatis menjadi anggota SQLAgentUserRole. Ini berarti bahwa anggota SQLAgentReaderRole memiliki akses ke semua proksi SQL Server Agent yang telah diberikan kepada SQLAgentUserRole dan dapat menggunakan proksi tersebut.
Tabel berikut ini meringkas izin SQLAgentReaderRole pada objek SQL Server Agent.
Tindakan | Operator | Pekerjaan lokal | Pekerjaan multiserver | Jadwal pekerjaan | Proksi |
---|---|---|---|---|---|
Membuat/mengubah/menghapus | Tidak | Ya (hanya pekerjaan yang dimiliki) Tidak dapat mengubah kepemilikan pekerjaan. |
Tidak | Ya (hanya jadwal yang dimiliki) | Tidak |
Tampilkan daftar (hitung) | Ya Bisa mendapatkan daftar operator yang tersedia untuk digunakan dalam sp_notify_operator dan kotak dialog Properti Pekerjaan dari Management Studio. |
Ya | Ya | Ya | Ya Daftar proksi hanya tersedia dalam kotak dialog Properti Langkah Pekerjaan di Management Studio. |
Aktifkan/Nonaktifkan | Tidak | Ya (hanya pekerjaan yang dimiliki) | Tidak | Ya (hanya jadwal yang dimiliki) | Tidak berlaku |
Lihat Properti | Tidak | Ya | Ya | Ya | Tidak |
Edit properti | Tidak | Ya (hanya pekerjaan yang dimiliki) | Tidak | Ya (hanya jadwal yang dimiliki) | Tidak |
Jalankan/hentikan/mulai | Tidak berlaku | Ya (hanya pekerjaan yang dimiliki) | Tidak | Tidak berlaku | Tidak berlaku |
Menampilkan riwayat pekerjaan | Tidak berlaku | Ya | Ya | Tidak berlaku | Tidak berlaku |
Menghapus riwayat pekerjaan | Tidak berlaku | Tidak Anggota SQLAgentReaderRole harus secara eksplisit diberikan izin EXECUTE pada sp_purge_jobhistory untuk menghapus riwayat pekerjaan pada pekerjaan yang mereka miliki. Mereka tidak dapat menghapus riwayat pekerjaan untuk pekerjaan lain. |
Tidak | Tidak berlaku | Tidak berlaku |
Lampirkan/lepas | Tidak berlaku | Tidak berlaku | Tidak berlaku | Ya (hanya jadwal yang dimiliki) | Tidak berlaku |
Izin SQLAgentOperatorRole
SQLAgentOperatorRole adalah yang paling istimewa dari peran database tetap SQL Server Agent. Ini termasuk semua izin SQLAgentUserRole dan SQLAgentReaderRole. Anggota peran ini juga dapat melihat properti untuk operator dan proksi, dan menghitung proksi dan pemberitahuan yang tersedia di server.
Anggota SQLAgentOperatorRole memiliki izin tambahan pada pekerjaan dan jadwal lokal. Mereka dapat menjalankan, menghentikan, atau memulai semua pekerjaan lokal, dan mereka dapat menghapus riwayat pekerjaan untuk pekerjaan lokal apa pun di server. Mereka juga dapat mengaktifkan atau menonaktifkan semua pekerjaan dan jadwal lokal di server. Untuk mengaktifkan atau menonaktifkan pekerjaan atau jadwal lokal, anggota peran ini harus menggunakan prosedur tersimpan sp_update_job dan sp_update_schedule. Hanya parameter yang menentukan nama atau pengidentifikasi pekerjaan atau jadwal dan parameter @enabled yang dapat ditentukan oleh anggota SQLAgentOperatorRole. Jika mereka menentukan parameter lain, eksekusi prosedur tersimpan ini gagal. Anggota SQLAgentOperatorRole tidak dapat mengubah kepemilikan pekerjaan untuk mendapatkan akses ke pekerjaan yang belum mereka miliki.
Simpul Pekerjaan, Pemberitahuan, Operator, dan Proksi di SQL Server Management Studio Object Explorer dapat dilihat oleh anggota SQLAgentOperatorRole. Hanya simpul Log Kesalahan yang tidak terlihat oleh anggota peran ini.
Penting
Pertimbangkan implikasi keamanan sebelum memberikan akses proksi kepada anggotaSQL Server Agentdatabaseroles. Anggota SQLAgentOperatorRole secara otomatis menjadi anggota SQLAgentUserRole dan SQLAgentReaderRole. Ini berarti bahwa anggota SQLAgentOperatorRole memiliki akses ke semua proksi SQL Server Agent yang telah diberikan kepada SQLAgentUserRole atau SQLAgentReaderRole dan dapat menggunakan proksi tersebut.
Tabel berikut ini meringkas izin SQLAgentOperatorRole pada objek SQL Server Agent.
Tindakan | Peringatan | Operator | Pekerjaan lokal | Pekerjaan multiserver | Jadwal pekerjaan | Proksi |
---|---|---|---|---|---|---|
Membuat/mengubah/menghapus | Tidak | Tidak | Ya (hanya pekerjaan yang dimiliki) Tidak dapat mengubah kepemilikan pekerjaan. |
Tidak | Ya (hanya jadwal yang dimiliki) | Tidak |
Tampilkan daftar (hitung) | Ya | Ya Bisa mendapatkan daftar operator yang tersedia untuk digunakan dalam sp_notify_operator dan kotak dialog Properti Pekerjaan dari Management Studio. |
Ya | Ya | Ya | Ya |
Aktifkan/Nonaktifkan | Tidak | Tidak | Ya Anggota SQLAgentOperatorRole dapat mengaktifkan atau menonaktifkan pekerjaan lokal yang tidak mereka miliki dengan menggunakan prosedur tersimpan sp_update_job dan menentukan nilai untuk parameter @enabled dan @job_id (atau @job_name). Jika anggota peran ini menentukan parameter lain untuk prosedur tersimpan ini, eksekusi prosedur akan gagal. |
Tidak | Ya Anggota SQLAgentOperatorRole dapat mengaktifkan atau menonaktifkan jadwal yang tidak mereka miliki dengan menggunakan prosedur tersimpan sp_update_schedule dan menentukan nilai untuk parameter @enabled dan @schedule_id (atau @name). Jika anggota peran ini menentukan parameter lain untuk prosedur tersimpan ini, eksekusi prosedur akan gagal. |
Tidak berlaku |
Lihat Properti | Ya | Ya | Ya | Ya | Ya | Ya |
Edit properti | Tidak | Tidak | Ya (hanya pekerjaan yang dimiliki) | Tidak | Ya (hanya jadwal yang dimiliki) | Tidak |
Jalankan/hentikan/mulai | Tidak berlaku | Tidak berlaku | Ya | Tidak | Tidak berlaku | Tidak berlaku |
Menampilkan riwayat pekerjaan | Tidak berlaku | Tidak berlaku | Ya | Ya | Tidak berlaku | Tidak berlaku |
Menghapus riwayat pekerjaan | Tidak berlaku | Tidak berlaku | Ya | Tidak | Tidak berlaku | Tidak berlaku |
Lampirkan/lepaskan | Tidak berlaku | Tidak berlaku | Tidak berlaku | Tidak berlaku | Ya (hanya jadwal yang dimiliki) | Tidak berlaku |
Menetapkan Beberapa Peran Pengguna
Anggota peran server tetap sysadmin memiliki akses ke semua fungsionalitas SQL Server Agent. Jika pengguna bukan anggota peran sysadmin, tetapi merupakan anggota lebih dari satu peran database tetap SQL Server Agent, penting untuk mengingat model izin konsentris dari peran ini. Karena peran yang lebih istimewa selalu berisi semua izin dari peran yang kurang istimewa, pengguna yang merupakan anggota lebih dari satu peran secara otomatis memiliki izin yang terkait dengan peran paling istimewa tempat pengguna menjadi anggotanya.
Lihat juga
Menerapkan SQL Server Agent Security
sp_update_job (Transact-SQL)
sp_update_schedule (Transact-SQL)
sp_notify_operator (Transact-SQL)
sp_purge_jobhistory (Transact-SQL)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk