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.
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 perbedaan T-SQL Azure SQL Managed Instance dibandingkan dengan SQL Server atau batasan pada pekerjaan Agen SQL di SQL Managed Instance untuk detail lebih lanjut.
SQL Server Agent memungkinkan administrator database menjalankan setiap langkah pekerjaan dalam konteks keamanan yang hanya memiliki izin yang diperlukan untuk melakukan langkah pekerjaan tersebut, yang ditentukan oleh proksi SQL Server Agent. Untuk mengatur izin untuk langkah pekerjaan tertentu, Anda membuat proksi yang memiliki izin yang diperlukan lalu menetapkan proksi tersebut ke langkah pekerjaan. Proksi dapat ditentukan untuk beberapa langkah tugas. Untuk langkah-langkah pekerjaan yang memerlukan izin yang sama, Anda menggunakan proksi yang sama.
Bagian berikut menjelaskan peran database apa yang harus Anda berikan kepada pengguna sehingga mereka dapat membuat atau menjalankan pekerjaan dengan menggunakan SQL Server Agent.
Memberikan akses ke SQL Server Agent
Untuk menggunakan SQL Server Agent, pengguna harus menjadi anggota dari satu atau beberapa peran database tetap berikut:
- Peran Pengguna SQLAgent
- SQLAgentReaderRole
- SQLAgentOperatorRole
Peran ini disimpan dalam msdb database. Secara default, tidak ada pengguna yang merupakan anggota dari peran database ini. Keanggotaan dalam peran ini harus diberikan secara eksplisit. Pengguna yang merupakan anggota peran server tetap sysadmin memiliki akses penuh ke SQL Server Agent, dan tidak perlu menjadi anggota peran database tetap ini untuk menggunakan SQL Server Agent. Jika pengguna bukan anggota dari salah satu peran database ini atau peran sysadmin , simpul SQL Server Agent tidak tersedia untuk mereka saat terhubung ke SQL Server dengan menggunakan SQL Server Management Studio.
Anggota peran basis data ini dapat melihat dan menjalankan tugas yang mereka miliki, serta membuat tahapan pekerjaan yang menggunakan akun proksi yang sudah ada. Untuk informasi selengkapnya tentang izin tertentu yang terkait dengan masing-masing peran ini, lihat Peran database tetap SQL Server Agent.
Anggota peran server tetap sysadmin memiliki izin untuk membuat, memodifikasi, dan menghapus akun proksi. Anggota peran sysadmin memiliki izin untuk membuat langkah-langkah pekerjaan yang tidak menentukan proksi, tetapi sebaliknya berjalan sebagai akun layanan SQL Server Agent, yang merupakan akun yang digunakan untuk memulai SQL Server Agent.
Panduan
Ikuti panduan ini untuk meningkatkan keamanan implementasi SQL Server Agent Anda:
Buat akun pengguna khusus khusus untuk proksi, dan hanya gunakan akun pengguna proksi ini untuk menjalankan langkah-langkah pekerjaan.
Hanya berikan izin yang diperlukan untuk akun pengguna proksi. Berikan hanya izin yang diperlukan untuk menjalankan langkah-langkah pekerjaan yang ditetapkan ke akun proksi tertentu.
Jangan jalankan layanan SQL Server Agent di bawah akun Microsoft Windows yang merupakan anggota grup Administrator Windows.
Proksi hanya seaman sebanyak penyimpanan informasi akses SQL Server.
Jika operasi penulisan pengguna dapat menulis ke log Peristiwa Windows Server, mereka dapat menaikkan pemberitahuan melalui SQL Server Agent.
Jangan tentukan akun Administrator Windows Server sebagai akun layanan atau akun proksi.
SQL Server dan SQL Server Agent memiliki akses ke aset satu sama lain. Kedua layanan berbagi ruang proses tunggal dan SQL Server Agent adalah sysadmin pada layanan SQL Server.
Ketika membuat lingkungan multiserver mendaftar dengan MSX (server master), MSX sysadmins mendapatkan kontrol total atas instans TSX SQL Server.
ACE adalah ekstensi dan tidak dapat memanggil dirinya sendiri. Chainer ScenarioEngine.exe (juga dikenal sebagai
Microsoft.SqlServer.Chainer.Setup.exe) dapat memanggil ACE. Proses host lainnya juga dapat memanggil ACE.ACE bergantung pada DLL konfigurasi berikut yang dimiliki oleh SSDP, karena API DLL tersebut dipanggil oleh ACE:
SCO -
Microsoft.SqlServer.Configuration.Sco.dll, termasuk validasi SCO baru untuk akun virtualKelompok -
Microsoft.SqlServer.Configuration.Cluster.dllSFC -
Microsoft.SqlServer.Configuration.SqlConfigBase.dllEkstensi -
Microsoft.SqlServer.Configuration.ConfigExtension.dll
Server yang ditautkan
Dalam beberapa skenario, seperti dengan Apa itu Azure SQL Managed Instance?, untuk menjalankan pekerjaan Agen SQL yang menjalankan kueri Transact-SQL (T-SQL) di server jarak jauh melalui server tertaut, Anda perlu memetakan login lokal ke login di server jarak jauh.
Gunakan sp_addlinkedsrvlogin untuk membuat pemetaan antara login di server lokal ke login di server jarak jauh yang memiliki izin yang diperlukan untuk menjalankan kueri T-SQL. Ketika pekerjaan SQL Agent tersambung ke server jarak jauh melalui server tertaut, pekerjaan tersebut menjalankan kueri T-SQL dalam konteks login jarak jauh yang bersangkutan.
Tabel berikut ini menjelaskan cara memetakan login berdasarkan pemilik pekerjaan SQL Agent di Azure SQL Managed Instance:
| Pemilik pekerjaan Agen SQL | Cara memetakan login |
|---|---|
| Pengguna yang bukan sysadmin | Petakan pengguna lokal pemilik tugas SQL Agent ke login jarak jauh. |
| adminsis | Petakan semua pengguna lokal ke login jarak jauh dengan mengatur @locallogin parameter ke NULL. |
Membuat login di server jarak jauh untuk pekerjaan SQL Agent diperlukan saat server lokal adalah Azure SQL Managed Instance. Gagal memetakan pengguna dengan benar dapat mengakibatkan kesalahan seperti contoh berikut:
Windows logins are not supported in this version of SQL ServerLinked servers cannot be used under impersonation without a mapping for the impersonated login