Trang chủ » làm thế nào để » 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

    Khi bạn có các công việc sao lưu tự động đang chạy trên máy chủ cơ sở dữ liệu của mình, đôi khi bạn quên rằng chúng thậm chí đang chạy. Sau đó, bạn quên kiểm tra xem họ có chạy thành công 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ể thấy trạng thái công việc mỗi sáng khi bạn đang nhâm nhi cà phê và giả vờ như bạn đang làm việc.

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

    Tải xuống thủ tục lưu trữ sp_QueryNotify 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, 'Cấu hình.fields (Hồi http://schemas.microsoft.com/cdo/configuration/smtpserver chủ)

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

    Mở danh sách SQL Server Agent \ Jobs và chọn các thuộc tính cho công việc bạn đang cố gắng tạo thông báo cho:

    Nhấp vào tab Bước và bạn sẽ thấy một màn hình giống như thế này:

    Nhấp vào nút Mới để tạo một bước công việc mới. Chúng tôi sẽ sử dụng bước này để gửi thông báo email thành công.

    Tên bước: Thông báo email thành công

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

    exec master.dbo.sp_QueryNotify '[email protected]', '[email protected]', 'Sao lưu công việc thành công', 'Công việc sao lưu đã hoàn thành thành công'

    Nhấp vào OK và sau đó nhấp vào nút Mới một lần nữa để tạo một bước khác. Đây sẽ là bước thông báo thất bại.

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

    SQL:

    exec master.dbo.sp_QueryNotify '[email protected]', '[email protected]', 'Thất bại trong công việc sao lưu,' Công việc sao lưu thất bại '

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

    Những gì chúng ta đang nói là về thành công, đi đến bước thành công và về thất bại, đi đến bước thất bại. Những thứ khá đơn giản.

    Bây giờ hãy chỉnh sửa bước thứ hai, một trong những thông báo Email thành công của Labled 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ì hãy bỏ công việc mà không chạy bước 3. Nếu chúng tôi không chỉ định điều này, thì cuối cùng chúng tôi sẽ nhận được hai email, một là thành công và một là thất bại.

    Bây giờ hãy chỉnh sửa bước thứ ba, một lỗi thông báo Email Email đã bị lỗi 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ờ bạn sẽ có thông báo email trong hộp thư đến của mình cho dù 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 ban đầu.

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