Tài khoản dịch vụ cần những quyền gì để sử dụng thư cơ sở dữ liệu?


9

Tôi có một phiên bản SQL Server 2012 đang chạy trong tài khoản dịch vụ được quản lý. Tôi đã định cấu hình thư cơ sở dữ liệu với một tài khoản và đang cố gửi email kiểm tra, nhưng tôi gặp một số lỗi trong nhật ký sự kiện của máy chủ:

Cơ sở dữ liệu động cơ = MYINSTANCE; Mail PID = 2132; Thông báo lỗi: Cập nhật cơ sở dữ liệu không thành công. Lý do: Quyền EXECUTE đã bị từ chối trên đối tượng 'sysmail_logmailevent_sp', cơ sở dữ liệu 'msdb', lược đồ 'dbo'.

Sơ đồ cơ sở dữ liệu = MYINSTANCE; Mail PID = 2212; Loại ngoại lệ: Microsoft.SqlServer.Man Quản lý.SqlIMail.Server.Common.BaseException Thông báo: Việc đọc trên cơ sở dữ liệu không thành công. Lý do: Quyền EXECUTE đã bị từ chối trên đối tượng 'sp_readrequest', cơ sở dữ liệu 'msdb', lược đồ 'dbo'. Dữ liệu: System.Collections.ListDixiI TargetaliteSite: Microsoft.SqlServer.Man Quản lý

Nếu tôi làm cho tài khoản chạy SQL Server xử lý một sysadmin, lỗi này sẽ biến mất và gửi thư thành công. Tuy nhiên, tất cả các nghiên cứu tôi đã thực hiện cho thấy rằng việc cung cấp cho tài khoản này DatabaseMailUserRolevai trò trong msdbcơ sở dữ liệu là đủ. Tôi đã làm điều này và vẫn nhận được các lỗi tương tự.

Tôi đã xem BOL nhưng không tìm thấy gì.


Là máy chủ sql và đại lý sql chạy trong cùng một tài khoản?
Kin Shah

@kin Không, tài khoản riêng (cả tài khoản dịch vụ được quản lý).
Mansfield

bạn có thể thử chạy SQL Agent với cùng một tài khoản dịch vụ như máy chủ sql không - chỉ để loại trừ nó và kiểm tra xem nó có hoạt động không?
Kin Shah

@Kin Điều đó có sự cho phép của sysadmin, vì vậy nó sẽ hoạt động. Bây giờ tôi đã cấp cho tài khoản dịch vụ chính của mình sysadmin và mọi thứ đều hoạt động - Tôi chỉ tò mò muốn biết liệu điều đó có quá nhiều không.
Mansfield

Câu trả lời:


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.