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

Sử dụng và quản lý Database Mail
SQL Server 2005 có một hệ thống mail nhỏ được gọi là Database Mail.
Database Mail là một tính năng được cải thiện trong SQL Mail so với các
phiên bản trước đó của SQL Server. Với tính năng này bạn có thể thiết lập
nhiều tài khoản cũng như hồ sơ để hỗ trợ những vấn đề về email. Database
Mail là gì?

Database Mail là một hệ thống hàng đợi của mail. Các email message được l
ưu
trong một hàng đợi bên trong cơ sở dữ liệu để được xử lý. Khi một email
message được đưa vào trong hàng đợi, một quá trình mở sẽ được kích hoạt để
gửi email messages trong hàng đợi đến mail server thích hợp. Khi email đã
được gửi thì một email message có trạng thái của phân phối sẽ được gửi trở lại
cho SQL Server.

Kích hoạt Database Mail

Database Mail không ở trạng thái có sẵn khi cài đặt. Từ mô hình bảo mật của
SQL Server có một số thứ bị tắt mặc định, bạn cần phải kích hoạt Database
Mail nếu muốn sử dụng nó. Bạn có thể sử dụng công cụ cấu hình Surface Area
Configuration hoặc T-SQL Server dưới đây để kích hoạt Database Mail:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Database Mail XPs', 1;
GO
RECONFIGURE
GO
Thiết lập tài khoản


một địa chỉ “reply to” với một tài khoản mail cơ s
ở dữ liệu của bạn. trong ví dụ
của tôi ở trên, tôi đã định nghĩa là
@replyto_address. Vì vậy khi một ai đó nhận đươc m
ột email từ bất kỳ các quá
trình thông báo email tự động nào của tôi họ sẽ có thể trả lời nó và email có th

được gửi trực tiếp đến tôi.

Với Database Mail, bạn có thể thiết lập nhiều tài kho
ản email nếu muốn. Trong
phần dưới đây tôi sẽ giới thiệu một số lý do tại sao bạn lại có thể thiết lập đư
ợc
nhiều tài khoản Database Mail như vậy.

Thiết lập hồ sơ và liên kết nó với các tài khoản

Trước khi gửi một Database Mail đến máy chủ SMTP đã được phân biệt trong
một tài khoản, bạn cần phải kết hợp tài khoản với một hồ sơ (profile) và cho
phép truy cập đến profile. Database Mail profile được sử dụng để cải thiện bảo
mật mail. Có hai loại profile: public và private. Public profile luôn được áp
dụng cho bất cứ ai được phép truy cập đến cơ sở dữ liệu msdb và là một thành
viên của DatabaseMailUserRole trong cơ sở dữ liệu msdb. Trong khi đó
private profile chỉ có thể được sử dụng cho những người dùng đặc biệt được
phép truy cập vào private profile. Một mail profile có thể đư
ợc kết hợp với một
hay nhiều tài khoản khác. Bạn có thể quản lý các profile bằng Database Mail
Configuration Wizard, hoặc sử dụng lệnh T-SQL Server giống như thiết lập
cho một mail profile dưới đây:
Create a Database Mail profile

[ , [ @copy_recipients = ] 'copy_recipient [ ; n ]' ]
[ , [ @blind_copy_recipients = ] 'blind_copy_recipient [ ; n ]' ]
[ , [ @subject = ] 'subject' ]
[ , [ @body = ] 'body' ]
[ , [ @body_format = ] 'body_format' ]
[ , [ @importance = ] 'importance' ]
[ , [ @sensitivity = ] 'sensitivity' ]
[ , [ @file_attachments = ] 'attachment [ ; n ]' ]
[ , [ @query = ] 'query' ]
[ , [ @execute_query_database = ] 'execute_query_database' ]
[ , [ @attach_query_result_as_file = ] attach_query_result_as_file ]
[ , [ @query_attachment_filename = ] query_attachment_filename ]
[ , [ @query_result_header = ] query_result_header ]
[ , [ @query_result_width = ] query_result_width ]
[ , [ @query_result_separator = ] 'query_result_separator' ]
[ , [ @exclude_query_output = ] exclude_query_output ]
[ , [ @append_query_error = ] append_query_error ]
[ , [ @query_no_truncate = ] query_no_truncate ]
[ , [ @mailitem_id = ] mailitem_id ] [ OUTPUT ]
Như nh
ững gì bạn nhìn thấy, SP này hỗ trợ một số các tham số khác nhau.
Thông tin về mỗi tham số này bạn có thể tham khảo trong các sách online.

Dưới đây là một ví dụ nói về tôi sẽ sử dụng private profile đã được tạo ở trên
để gửi một email message đơn giản như thế nào không quan tâm đến quá trình
đánh chỉ số lại cơ sở dữ liệu tự động.
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Database Administration Profile',
@recipients = '',
@body = 'Reindex database process completed successfully',


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.


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.

Văn Linh (Theo Databasejournal)


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status