Trong SQL Server, bạn có thể sử dụng sysmail_help_account_sp
thủ tục được lưu trữ trên msdb
cơ sở dữ liệu để truy xuất danh sách tất cả các tài khoản Thư cơ sở dữ liệu.
Bạn cũng có thể trả lại thông tin tài khoản dựa trên tên tài khoản hoặc ID của tài khoản đó.
Ví dụ
Đây là một ví dụ để chứng minh.
EXEC msdb.dbo.sysmail_help_account_sp;
Kết quả (sử dụng đầu ra dọc):
account_id | 1 name | DB Admin description | Mail account for admin emails. email_address | [email protected] display_name | DB Automated Mailer replyto_address | [email protected] servertype | SMTP servername | smtp.example.com port | 25 username | NULL use_default_credentials | 0 enable_ssl | 0
Tôi đã liệt kê các kết quả bằng cách sử dụng đầu ra dọc để bạn không phải cuộn sang ngang để xem tất cả các cột.
Trong trường hợp của tôi, chỉ có một tài khoản Thư cơ sở dữ liệu.
Lưu ý rằng sysmail_help_account_sp
thủ tục được lưu trữ trong msdb
cơ sở dữ liệu và nó thuộc sở hữu của dbo
lược đồ. Do đó, bạn sẽ cần sử dụng cách đặt tên ba phần (như trong ví dụ của tôi) if msdb
không phải là cơ sở dữ liệu hiện tại.
Chỉ trả lại một tài khoản
Mặc dù tôi chỉ có một tài khoản thư cơ sở dữ liệu trên hệ thống của mình, đây là ví dụ về cách trả lại một tài khoản.
Như đã đề cập, bạn có thể sử dụng tên tài khoản hoặc ID của nó. Dưới đây là một ví dụ về việc trả lại nó theo ID tài khoản:
EXEC msdb.dbo.sysmail_help_account_sp
@account_id = 1;
Bạn cần cung cấp ID tài khoản dưới dạng int .
Và đây là một ví dụ về việc trả lại nó theo tên:
EXEC msdb.dbo.sysmail_help_account_sp
@account_name = 'DB Admin';
Tên tài khoản là sysname .
Tài khoản không hợp lệ?
Việc cung cấp ID tài khoản không tồn tại sẽ dẫn đến lỗi sau:
Msg 14606, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 33 account id is not valid
Việc cung cấp tên tài khoản không tồn tại sẽ dẫn đến lỗi sau:
Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 42 account name is not valid