Sử dụng và quản lý Database Mail

Thảo luận trong 'Database' bắt đầu bởi Nguyễn Quốc Trung, 12 Tháng sáu 2017.

    Sử dụng và quản lý Database Mail

    Sử dụng và quản lý Database Mail

    1 Tháng một 1970 | 22 | 0
  1. Nguyễn Quốc Trung

    Nguyễn Quốc Trung Member

    PCTech
    Bài viết:
    432
    Đã được thích:
    0
    Giới tính:
    Nam
    Các trường hợp khác nhau trong sử dụng tài khoản và hồ sơ

    Có một số cách khác nhau trong việc sử dụng những ưu điểm của đa tài khoản và profile được Database Mail cho phép bạn thực hiện với chúng.

    Một trong những ưu điểm quan sát thấy của tính năng đa tài khoản đó là cấu hình profile Database Mail của bạn có thể cho phép khả năng chuyển đổi dự phòng khi một trong những máy chủ SMTP gặp các vấn đề trục trặc. Khi bổ sung vào các tài khoản cho một profile Database Mail bạn có thể cung cấp cho chúng một chuỗi số sequence_number. Khi gửi một email message mới, Database Mail cố gắng gửi nó bằng cách sử dụng số chuỗi thấp nhất trước. Nếu quá trình gửi đó bị hỏng thì Database Mail sẽ sử dụng chuỗi số cao hơn tiếp theo. Database Mail sẽ liên tục thực hiện công việc này cho đến khi mail được gửi thành công hoặc tất cả các tài khoản đã đều được thử.

    Một tùy chọn khác trong việc sử dụng này là hỗ trợ cho mail message phân phát đến các địa chỉ email khác nhau. Nếu bạn có nhiều ứng dụng cần phải gửi email, mỗi ứng dụng có một địa chỉ email riêng của nó. Việc làm này sẽ giúp người nhận email tự đông phân biệt được quá trình đã gửi là quá trình gì bằng việc xem địa chỉ email.

    Ngoài ra, nếu bạn sử dụng các private profile thì bạn có thể kết hợp các profile này với các chính sách bảo mật khác. Bằng cách đó sẽ cho phép bạn kiểm soát được private profile, người dùng msdb sẽ được phép sử dụng một profile Database Mail riêng biệt.

    Kiểm tra Database Mail

    SQL Server cung cấp 6 cửa sổ hệ thống khác nhau trong cơ sở dữ liệu msdb cho việc kiểm tra thông tin Database Mail. Các cửa sổ này có thể được sử dụgn để lấy lại thông tin trong cơ sở dữ liệu msdb có cho biết đến cả trạng thái của tất cả Database Mail hoặc chỉ những email message cụ thể. Các cửa sổ này rất hữu dụng trong việc phân biệt mail nào đã được xử lý cũng như lý do tại sao mail message có thể không được phân phối đến mail server yêu cầu. Chúng là các công cụ lý tưởng cho phép bạn có thể kiểm tra và khắc phục một số các vấn đề Database Mail. Để có thêm thông tin chi tiết về các cửa sổ này, bạn có thể tìm hiểu thêm trong các sách online.

    sysmail_allitems – cửa sổ này cho phép bạn trả về một tập bản ghi, gồm có một hàng cho mỗi email message được xử lý bằng Database Mail.

    sysmail_event_log – Cửa sổ này cho phép bạn trả về một hàng cho mỗi một thông báo lỗi của Windows hoặc SQL Server khi Database Mail xử lý một email message.

    sysmail_faileditems – Cửa sổ này trả về một bản ghi cho mỗi một email message có một trạng thái nào đó hoặc bị thất bại.

    sysmail_mailattachments – Cửa sổ này gồm một hàng cho mỗi một đính kèm đã gửi

    sysmail_sentitems – Cửa sổ này gồm có một bản ghi cho mỗi một email đã được gửi thành công

    sysmail_unsentitems – Cửa sổ này gồm có một bản ghi cho mỗi email hiện đang có trong hàng đợi để được gửi hoặc trong quá trình đang gửi.

    Duy trì các thông báo trong MSDB Database

    Tất cả các email message được lưu trong cơ sở dữ liệu msdb, bạn phải xem xét xem quản lý các thông tin này như thế nào. Phụ thuộc vào các chính sách ghi nhớ email, bạn cần thiết lập một thói quen để làm sạch có chu kỳ đối với các email message không cần thiết nữa. SQL Server 2005 cung cấp hai thủ tục lưu khác nhau để gỡ các bản ghi mail từ cơ sở dữ liệu msdb.

    sysmail_delete_mailitems_sp – SP này xóa thường xuyên các email message có trong msdb trong bảng Database Mail.

    sysmail_delete_log_sp – SP này xóa các thông báo bản ghi Database Mail.

    Bạn có thể xem sách online để có thêm thông tin chi tiết về SP.

    T-SQL Server dưới đây sẽ xóa mail đã được gửi cách đấy một tháng:

    DECLARE @delete_date datetime
    SET @delete_date = dateadd(MM,-1,getdate())
    EXECUTE msdb.dbo.sysmail_delete_mailitems_sp @sent_before=@delete_date

    Kết luận


    Database Mail SQL Server 2005 là một sự cải thiện lớn trong SQL Mail so với các phiên bản trước đây của SQL Server. Database Mail cung cấp một hệ thống mail với rất nhiều tính năng để bảo vệ và quản lý tốt hơn các mail đang gửi bằng sử dụng T-SQL. Với Database Mail trong SQL Server 2005, bạn không cần phải xây dựng một lời giải cho một giải pháp sử dụng CDOSYS để gửi email. Nếu bạn đang tìm cách để hỗ trợ email từ T-SQL, hãy xem xét đến những tính năng của Database Mail.
     

Chia sẻ trang này