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

Thêm tài khoản thư cơ sở dữ liệu vào cấu hình (T-SQL)

Trong SQL Server, Database Mail sử dụng cấu hình để gửi email thay vì trực tiếp tài khoản.

Do đó, trước tiên bạn phải tạo một hồ sơ, và tạo một tài khoản, sau đó thêm tài khoản vào hồ sơ. Bạn cũng cần cấp quyền cho người dùng trong msdb truy cập cơ sở dữ liệu vào hồ sơ.

Để thêm tài khoản Thư cơ sở dữ liệu vào cấu hình với T-SQL, hãy sử dụng sysmail_add_profileaccount_sp thủ tục được lưu trữ trong msdb cơ sở dữ liệu.

Ví dụ

Dưới đây là ví dụ về việc thêm tài khoản Thư cơ sở dữ liệu vào cấu hình Thư cơ sở dữ liệu bằng T-SQL.

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'DB Admin Profile',  
    @account_name = 'DB Admin',  
    @sequence_number = 1;

Trong trường hợp này, tôi thêm tài khoản “Quản trị viên DB” vào hồ sơ “Hồ sơ quản trị viên DB”.

Điều này giả định rằng hồ sơ và tài khoản đã tồn tại.

Bạn có thể thêm nhiều tài khoản vào cấu hình Thư cơ sở dữ liệu. Số thứ tự xác định thứ tự các tài khoản được sử dụng trong hồ sơ. Thư Cơ sở dữ liệu bắt đầu với tài khoản có số thứ tự thấp nhất. Nếu tài khoản đó không thành công, tài khoản có số thứ tự cao nhất tiếp theo sẽ được sử dụng, v.v.

Nếu tồn tại nhiều tài khoản có cùng số thứ tự, Database Mail sẽ chỉ sử dụng một trong những tài khoản đó cho một email nhất định.

Tuy nhiên, không có gì đảm bảo rằng cùng một tài khoản sẽ được sử dụng cho các tin nhắn tiếp theo. Ví dụ:nếu hai tài khoản chia sẻ số thứ tự là 1, bạn có thể nhận được một số email từ một tài khoản và một số từ tài khoản kia.

Chỉ định ID tài khoản / hồ sơ

Ngoài ra, bạn có thể chỉ định ID hồ sơ và / hoặc ID tài khoản thay vì tên của họ.

Do đó, chúng ta có thể thay đổi ví dụ trước đó thành giống như sau:

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_id = 1,  
    @account_id = 1,  
    @sequence_number = 1;

Điều này rõ ràng giả định rằng đó là ID cho các tài khoản được đề cập.

Lưu ý rằng tên hoặc ID phải được cung cấp.

Ngoài ra, khi cung cấp các ID, chúng được cung cấp dưới dạng int .

Lưu ý rằng sysmail_add_profileaccount_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 nếu thực thi nó từ bên ngoài msdb cơ sở dữ liệu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Quản lý giao dịch đồng thời bằng cách sử dụng khóa trong SQL Server

  2. CHÈN SỐ LƯỢNG LỚN với cột nhận dạng (tăng tự động)

  3. Kiến trúc SQL Server AlwaysOn (Nhóm khả dụng) và Cài đặt từng bước -3 Thất bại thủ công qua các bước

  4. Có bất kỳ công cụ miễn phí nào để tạo tập lệnh 'CHÈN VÀO' trong MS SQL Server không?

  5. MAMP có nên trả về ::1 dưới dạng IP trên localhost không?