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

Tìm mối liên hệ giữa tài khoản thư cơ sở dữ liệu và nguyên tắc cơ sở dữ liệu trong SQL Server (T-SQL)

Trong SQL Server, bạn có thể sử dụng sysmail_help_principalprofile_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 liên kết giữa tài khoản Thư cơ sở dữ liệu và tài khoản 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 / ID chính hoặc tên / ID hồ sơ.

Trả lại tất cả các liên kết

Để trả về tất cả các liên kết, chỉ cần thực hiện thủ tục được lưu trữ mà không có bất kỳ tham số nào.

EXEC msdb.dbo.sysmail_help_principalprofile_sp;

Kết quả (sử dụng đầu ra dọc):

principal_id   | 25
principal_name | Marge
profile_id     | 1
profile_name   | DB Admin Profile
is_default     | 1

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 liên kết.

Lưu ý rằng sysmail_help_principalprofile_sp thủ tục được lưu trữ trong msdb cơ sở dữ liệu và thuộc sở hữu của dbo lược đồ. Do đó, bạn sẽ cần sử dụng cách đặt tên gồm ba phần if msdb không phải là cơ sở dữ liệu hiện tại.

Dựa trên Tên / ID Chính

Bạn có thể thu hẹp nó xuống chỉ còn một mã chính duy nhất bằng cách chuyển tên hoặc ID chính làm tham số.

Tên chính là tên của người dùng cơ sở dữ liệu hoặc vai trò trong msdb cơ sở dữ liệu.

Đây là cách chuyển tên chính:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_name = 'Marge';

Và đây là cách chuyển ID chính:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_id = 25;

Lưu ý rằng @principal_id được cung cấp dưới dạng int .

Dựa trên Tên / ID Hồ sơ

Ngoài ra, bạn có thể thu hẹp nó xuống chỉ một hồ sơ duy nhất bằng cách chuyển tên hồ sơ hoặc ID làm tham số.

Đây là cách chuyển tên hồ sơ:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @profile_name = 'DB Admin Profile';

Và đây là cách chuyển ID hồ sơ:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @profile_id = 1;

Lưu ý rằng @profile_id được cung cấp dưới dạng int .


  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ó sự kết hợp giữa LIKE và IN trong SQL không?

  2. Kết nối Delphi trên Linux với SQL Server

  3. Cách gửi một email HTML từ SQL Server (T-SQL)

  4. Khi nào / Tại sao sử dụng Cascading trong SQL Server?

  5. Hàm trong SQL Server 2008 tương tự như hàm GREATEST trong mysql?