Tôi có một số cấu hình thư được định cấu hình trên tác nhân sql, làm cách nào tôi có thể chọn cấu hình nào trong số các cấu hình này được sử dụng để gửi thông báo về một công việc của đại lý sql cụ thể?
Tôi có một số cấu hình thư được định cấu hình trên tác nhân sql, làm cách nào tôi có thể chọn cấu hình nào trong số các cấu hình này được sử dụng để gửi thông báo về một công việc của đại lý sql cụ thể?
Câu trả lời:
Cấu hình cơ sở dữ liệu Mail hoạt động hơi khác một chút khi nói đến công việc SQL Agent. Khi tự cấu hình SQL Agent thông qua cửa sổ thuộc tính, bạn sẽ cấu hình Hệ thống cảnh báo .
Hai mũi tên chỉ vào nơi một hồ sơ thư cơ sở dữ liệu có thể được chọn. Trong hai trường hợp này, hồ sơ bạn chọn về cơ bản nói với SQL Agent, đây là cấu hình SMTP của bạn và bạn sẽ gửi email "dưới dạng" hoặc trường "TỪ".Việc định cấu hình Hệ thống cảnh báo yêu cầu khởi động lại dịch vụ SQL Agent.
Khi việc đó được thực hiện để nhận thông báo cho các công việc của Tác nhân SQL, bạn sẽ cần phải định cấu hình Toán tử .
Bạn sẽ thiết lập toán tử để lưu ý ai bạn muốn thông báo được gửi "ĐẾN". Bạn có thể đặt nhiều hơn một địa chỉ email trong trường này nhưng nó có giới hạn ký tự. Bạn có thể tạo nhiều toán tử nhưng trong trang thông báo của thuộc tính công việc bạn sẽ nhận thấy nó chỉ cho phép bạn chọn một toán tử. Đây chỉ là giới hạn của SQL Agent.
Thay thế cho điều này sẽ là sử dụng chính sp_send_db_mail
trong bước công việc. Trong trường hợp này, bạn có thể sử dụng bất kỳ hồ sơ thư nào bạn muốn, trong trường hợp bạn muốn nó đi đến một người khác ngoài bất kỳ nhà điều hành nào bạn có thể đã cấu hình.
Bạn có thể chỉ định profile_name
trong sp_send_dbmail
như dưới đây:
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'here goes your profile name'
Tham khảo BOL để biết thêm chi tiết.
Bạn có thể Liệt kê các tài khoản được liên kết với một hoặc nhiều hồ sơ Cơ sở dữ liệu bằng sysmail_help_profileaccount_sp
Dưới đây là t-sql sẽ cung cấp cho bạn tất cả các chi tiết:
SELECT [sa].[account_id]
, [sa].[name] as [Profile_Name]
, [sa].[description]
, [sa].[email_address]
, [sa].[display_name]
, [sa].[replyto_address]
, [ss].[servertype]
, [ss].[servername]
, [ss].[port]
, [ss].[username]
, [ss].[use_default_credentials]
, [ss].[enable_ssl]
FROM
msdb.dbo.sysmail_account sa
INNER JOIN msdb.dbo.sysmail_server ss
ON sa.account_id = ss.account_id