Gửi thông báo email công việc tự động trong SQL Server với SMTP

Gửi thông báo email công việc tự động trong SQL Server với SMTP
Gửi thông báo email công việc tự động trong SQL Server với SMTP

Video: Gửi thông báo email công việc tự động trong SQL Server với SMTP

Video: Gửi thông báo email công việc tự động trong SQL Server với SMTP
Video: Tự học Linux #9: Remote Ubuntu trên Windows - Kết nối từ xa - YouTube 2024, Có thể
Anonim

Khi bạn có các công việc sao lưu tự động chạy trên máy chủ cơ sở dữ liệu của bạn, đôi khi bạn quên rằng chúng thậm chí còn chạy. Sau đó, bạn quên kiểm tra xem họ có đang chạy thành công hay không và không nhận ra cho đến khi cơ sở dữ liệu của bạn gặp sự cố và bạn không thể khôi phục nó vì bạn không có bản sao lưu hiện tại.

Đó là nơi thông báo email đến, vì vậy bạn có thể xem trạng thái công việc mỗi sáng khi bạn đang nhấm nháp cà phê và giả vờ bạn đang làm việc.

SQL Server cung cấp phương pháp gửi email tích hợp, nhưng rất tiếc nó yêu cầu bạn phải có Outlook và hồ sơ được cài đặt trên máy chủ, đây không nhất thiết là cách lý tưởng để gửi email. Rất may có một phương pháp khác, có liên quan đến việc cài đặt một thủ tục lưu sẵn trên máy chủ của bạn, nó sẽ cho phép bạn gửi email qua SMTP.

Tải xuống thủ tục lưu trữ sp_SQLNotify tại đây.

Bạn sẽ muốn chỉnh sửa một dòng trong quy trình được lưu trữ để đặt địa chỉ IP của máy chủ SMTP của bạn:

EXEC @hr = sp_OASetProperty @iMsg, ‘Configuration.fields(“https://schemas.microsoft.com/cdo/configuration/smtpserver”).Value’, ‘10.1.1.10’

Cài đặt thủ tục được lưu trữ vào cơ sở dữ liệu chủ, vì vậy nó có thể dễ dàng được sử dụng từ bất cứ nơi nào cần thiết.

Mở danh sách Đại lý SQL Server Công việc và chọn thuộc tính cho công việc bạn đang cố tạo thông báo cho:

Nhấp vào tab Steps, và bạn sẽ thấy một màn hình trông như thế này:
Nhấp vào tab Steps, và bạn sẽ thấy một màn hình trông như thế này:

Step Name: Thông báo Email thành công

Nhập SQL này vào cửa sổ Command như hình dưới đây. Bạn sẽ muốn tùy chỉnh địa chỉ email và thông điệp phù hợp với môi trường của mình:

exec master.dbo.sp_SQLNotify ‘[email protected]’,’[email protected]’,’Backup Job Success’,’The Backup Job completed successfully’

Tên bước: Lỗi thông báo qua email

SQL:

exec master.dbo.sp_SQLNotify ‘[email protected]’,’[email protected]’,’Backup Job Failure,’The Backup Job failed’

Bây giờ ý tưởng là để làm cho các mục theo một quy trình làm việc cụ thể. Trước tiên, hãy nhấp vào Chỉnh sửa ở bước 1 và đặt thuộc tính như được hiển thị ở đây:

Bây giờ, hãy chỉnh sửa bước thứ hai, bước tiếp theo là “Thông báo thành công qua email” và đặt các thuộc tính như được thấy ở đây:

Chúng tôi đang nói rằng nếu công việc thông báo thành công, thì chỉ cần bỏ công việc mà không cần chạy bước 3. Nếu chúng tôi không chỉ định điều này, thì chúng tôi sẽ nhận được hai email, một email thành công và một email bị lỗi.
Chúng tôi đang nói rằng nếu công việc thông báo thành công, thì chỉ cần bỏ công việc mà không cần chạy bước 3. Nếu chúng tôi không chỉ định điều này, thì chúng tôi sẽ nhận được hai email, một email thành công và một email bị lỗi.

Bây giờ hãy chỉnh sửa bước thứ ba, bước thử nghiệm “Lỗi thông báo qua email” và đặt các thuộc tính như được thấy ở đây:

Bây giờ các bước công việc của bạn sẽ trông như thế này:
Bây giờ các bước công việc của bạn sẽ trông như thế này:
Bây giờ bạn sẽ có thông báo qua email trong hộp thư đến của mình để thành công hay thất bại.
Bây giờ bạn sẽ có thông báo qua email trong hộp thư đến của mình để thành công hay thất bại.

Lưu ý: Quy trình được lưu trữ được sử dụng trong bài viết này được tìm thấy ở đây, mặc dù đó có thể không phải là nguồn gốc.

Tải xuống thủ tục lưu trữ sp_SQLNotify tại đây.

Đề xuất: