Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Nhận danh sách tài khoản thư cơ sở dữ liệu trong SQL Server (T-SQL)

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các thay đổi cột chỉ siêu dữ liệu mới trong SQL Server 2016

  2. SQL Server 2016 - Giới thiệu về Cơ sở dữ liệu Stretch

  3. Sử dụng Cảnh báo và Toán tử trong SQL Server

  4. Chỉ kích hoạt cập nhật SQL khi cột được sửa đổi

  5. Tên tệp SQL Server so với phiên bản