Nếu bạn thấy mình cần tự động gửi email khi các sự kiện nhất định xảy ra trong SQL Server, bạn có thể thực hiện việc này thông qua trình kích hoạt.
Ví dụ:bạn có thể tự động gửi email khi ai đó xóa hoặc cập nhật bản ghi khỏi bảng, v.v.
Để thực hiện việc này, bạn cần tạo một trình kích hoạt bao gồm mã để gửi email theo sự kiện bắt buộc.
Ví dụ
Dưới đây là ví dụ về trình kích hoạt gửi email bất cứ khi nào ai đó xóa bản ghi khỏi bảng có tên Cats
:
CREATE TRIGGER trg_deleted_cat
ON Cats
AFTER DELETE
AS
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Oh no... somebody just deleted a cat!!!',
@subject = 'Warning: This email may distress the reader';
Trong trường hợp này, tôi muốn email được gửi bất cứ khi nào ai đó xóa một hàng, vì vậy tôi sử dụng AFTER DELETE
.
Tôi sử dụng sp_send_dbmail
thủ tục được lưu trữ trên msdb cơ sở dữ liệu để gửi email.
Để điều này hoạt động, bạn cần phải bật Thư cơ sở dữ liệu và định cấu hình để gửi email (Thư cơ sở dữ liệu là giải pháp gửi email của SQL Server). Xem Cách gửi Email từ SQL Server để biết hướng dẫn về cách thực hiện việc này.