Bagikan melalui


Memilih akun untuk layanan SQL Server Agent

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 dari SQL Server untuk detailnya.

Akun startup layanan menentukan akun Microsoft Windows tempat SQL Server Agent berjalan dan izin jaringannya. SQL Server Agent berjalan sebagai akun pengguna tertentu. Anda memilih akun untuk layanan SQL Server Agent dengan menggunakan Pengelola Konfigurasi SQL Server, di mana Anda bisa memilih dari opsi berikut:

  • Akun bawaan. Anda dapat memilih dari daftar akun layanan Windows bawaan berikut ini:

    • Akun Sistem Lokal. Nama akun ini adalah NT AUTHORITY\System. ini adalah akun kuat yang memiliki akses tak terbatas ke semua sumber daya sistem lokal. ini adalah anggota grup Administrator Windows di komputer lokal.

    Penting

    Opsi Akun Sistem Lokal hanya disediakan untuk kompatibilitas mundur. Akun Sistem Lokal memiliki izin yang tidak diperlukan SQL Server Agent. Hindari menjalankan SQL Server Agent sebagai akun Sistem Lokal. Untuk meningkatkan keamanan, gunakan akun domain Windows dengan izin yang tercantum di bagian berikut, "Izin Akun Domain Windows."

  • Akun ini. Memungkinkan Anda menentukan akun domain Windows tempat layanan SQL Server Agent berjalan. Sebaiknya pilih akun pengguna Windows yang bukan anggota grup Administrator Windows. Namun, ada batasan untuk menggunakan administrasi multiserver ketika akun layanan SQL Server Agent bukan anggota grup Administrator lokal. Untuk informasi selengkapnya, lihat 'Jenis Akun Layanan yang Didukung' yang mengikuti artikel ini.

Izin akun domain Windows

Untuk keamanan yang ditingkatkan, pilih Akun ini, yang menentukan akun domain Windows. Akun domain Windows yang Anda tentukan harus memiliki izin berikut:

  • Di semua versi Windows, izin untuk masuk sebagai layanan (SeServiceLogonRight)

    Catatan

    Akun layanan SQL Server Agent harus menjadi bagian dari grup Akses Kompatibel Pra-Windows 2000 pada pengendali domain, atau pekerjaan yang dimiliki oleh pengguna domain yang bukan anggota grup Administrator Windows gagal.

  • Di server Windows, akun yang dijalankan SQL Server Agent Service seperti yang memerlukan izin berikut dapat mendukung proksi SQL Server Agent.

    • Izin untuk melewati pemeriksaan melintasi (SeChangeNotifyPrivilege)
    • Izin untuk mengganti token tingkat proses (SeAssignPrimaryTokenPrivilege)
    • Izin untuk menyesuaikan kuota memori untuk proses (SeIncreaseQuotaPrivilege)
    • Izin untuk mengakses komputer ini dari jaringan (SeNetworkLogonRight)

Jika akun tidak memiliki izin yang diperlukan untuk mendukung proksi, hanya anggota peran server tetap sysadmin yang dapat membuat pekerjaan.

Untuk menerima pemberitahuan pemberitahuan Windows Management Instrumentation (WMI), akun layanan untuk SQL Server Agent harus telah diberikan izin ke namespace layanan yang berisi peristiwa WMI, dan ALTER ANY EVENT NOTIFICATION.

Keanggotaan peran SQL Server

Secara default, akun layanan SQL Server Agent dipetakan ke SID layanan SQL Server Agent default (NT SERVICE\SQLSERVERAGENT), yang merupakan anggota peran server tetap sysadmin . Akun juga harus menjadi anggota msdb peran database TargetServersRole di server master jika pemrosesan pekerjaan multiserver digunakan. Panduan Server Master secara otomatis menambahkan akun layanan ke peran ini sebagai bagian dari proses pendaftaran.

Jenis akun layanan yang didukung

Tabel berikut ini mencantumkan jenis akun Windows yang dapat digunakan untuk layanan SQL Server Agent.

Jenis akun layanan Nonclustered Server Server terkluster Pengontrol domain (tidak terdaftar)
Akun domain Microsoft Windows (anggota grup Administrator Windows) Didukung Didukung Didukung
Akun domain Windows (non-administratif) Didukung

Lihat Batasan 1 nanti di bagian ini.
Didukung

Lihat Batasan 1 nanti di bagian ini.
Didukung

Lihat Batasan 1 nanti di bagian ini.
Akun Layanan Jaringan (NT AUTHORITY\NetworkService) Didukung

Lihat Batasan 1, 3, dan 4 yang lebih baru di bagian ini.
Tidak didukung Tidak didukung
Akun pengguna lokal (non-administratif) Didukung

Lihat Batasan 1 nanti di bagian ini.
Tidak didukung Tidak berlaku
Akun Sistem Lokal (NT AUTHORITY\System) Didukung

Lihat Batasan 2 nanti di bagian ini.
Tidak didukung Didukung

Lihat Batasan 2 nanti di bagian ini.
Akun Layanan Lokal (NT AUTHORITY\LocalService) Tidak didukung Tidak didukung Tidak didukung

Batasan 1: Menggunakan akun non-administratif untuk administrasi multiserver

Mendaftarkan server target ke server master mungkin gagal dengan pesan kesalahan berikut: The enlist operation failed.

Untuk mengatasi kesalahan ini, mulai ulang layanan SQL Server dan SQL Server Agent. Untuk informasi selengkapnya, lihat Memulai, menghentikan, menjeda, melanjutkan, dan memulai ulang layanan SQL Server.

Batasan 2: Menggunakan akun Sistem Lokal untuk administrasi multiserver

Administrasi multiserver didukung ketika layanan SQL Server Agent dijalankan di bawah akun Sistem Lokal hanya ketika server master dan server target berada di komputer yang sama. Jika Anda menggunakan konfigurasi ini, pesan berikut dikembalikan saat Anda mendaftarkan server target ke server master:

Ensure the agent start-up account for <target_server_computer_name> has rights to log on as targetServer.

Anda dapat mengabaikan pesan informasi ini. Operasi pendaftaran harus berhasil diselesaikan. Untuk informasi selengkapnya, lihat Membuat lingkungan multiserver.

Batasan 3: Menggunakan akun Layanan Jaringan saat pengguna SQL Server

Agen SQL Server mungkin gagal dimulai jika Anda menjalankan layanan SQL Server Agent di bawah akun Layanan Jaringan, dan akun Layanan Jaringan secara eksplisit diberikan akses untuk masuk ke instans SQL Server sebagai pengguna SQL Server.

Untuk mengatasi hal ini, mulai ulang komputer tempat SQL Server berjalan. Ini hanya perlu dilakukan sekali.

Batasan 4: Menggunakan akun Layanan Jaringan saat SQL Server Reporting Services berjalan di komputer yang sama

Agen SQL Server mungkin gagal dimulai jika Anda menjalankan layanan Agen SQL Server di bawah akun Layanan Jaringan dan Layanan Pelaporan juga berjalan di komputer yang sama.

Untuk mengatasi hal ini, mulai ulang komputer tempat SQL Server berjalan, lalu mulai ulang layanan SQL Server dan SQL Server Agent. Ini hanya perlu dilakukan sekali.

Tugas umum

Gunakan Pengelola Konfigurasi SQL Server untuk menentukan bahwa SQL Server Agent harus dimulai saat sistem operasi dimulai.