SQL Serverでは、sysmail_help_principalprofile_spを使用できます。 msdbのストアドプロシージャ データベースを使用して、データベースメールアカウントとデータベースプリンシパル間のすべての関連付けのリストを取得します。
プリンシパル名/IDまたはプロファイル名/IDに基づいてアカウント情報を返すこともできます。
すべての関連付けを返す
すべての関連付けを返すには、パラメータなしでストアドプロシージャを実行するだけです。
EXEC msdb.dbo.sysmail_help_principalprofile_sp; 結果(垂直出力を使用):
principal_id | 25 principal_name | Marge profile_id | 1 profile_name | DB Admin Profile is_default | 1
すべての列を表示するために横にスクロールする必要がないように、垂直出力を使用して結果をリストしました。
私の場合、関連付けは1つだけです。
sysmail_help_principalprofile_spに注意してください ストアドプロシージャはmsdbにあります データベースであり、dboが所有しています スキーマ。したがって、msdbの場合は、3つの部分からなる命名を使用する必要があります 現在のデータベースではありません。
プリンシパル名/IDに基づく
プリンシパル名またはIDをパラメーターとして渡すことにより、単一のプリンシパルに絞り込むことができます。
プリンシパル名は、 msdb内のデータベースユーザーまたはロールの名前です。 データベース。
プリンシパル名を渡す方法は次のとおりです。
EXEC msdb.dbo.sysmail_help_principalprofile_sp
@principal_name = 'Marge'; そして、プリンシパルIDを渡す方法は次のとおりです。
EXEC msdb.dbo.sysmail_help_principalprofile_sp
@principal_id = 25;
@principal_idに注意してください intとして提供されます 。
プロファイル名/IDに基づく
または、プロファイル名またはIDをパラメーターとして渡すことにより、単一のプロファイルに絞り込むことができます。
プロファイル名を渡す方法は次のとおりです。
EXEC msdb.dbo.sysmail_help_principalprofile_sp
@profile_name = 'DB Admin Profile'; プロファイルIDを渡す方法は次のとおりです。
EXEC msdb.dbo.sysmail_help_principalprofile_sp
@profile_id = 1;
@profile_idに注意してください intとして提供されます 。