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 .