sql >> データベース >  >> RDS >> Sqlserver

SQLServerのデータベースメールプロファイルに関連付けられているアカウントを一覧表示する

    SQL Serverでは、sysmail_help_profileaccount_spを使用できます。 msdbのストアドプロシージャ データベースを使用して、アカウントとデータベースメールプロファイル間のすべての関連付けのリストを取得します。

    アカウント名/IDまたはプロファイル名/IDに基づいてアカウント情報を返すこともできます。

    すべての関連付けを返す

    すべての関連付けを返すには、パラメータなしでストアドプロシージャを実行するだけです。

    EXEC msdb.dbo.sysmail_help_profileaccount_sp;

    結果(垂直出力を使用):

    profile_id      | 1
    profile_name    | DB Admin Profile
    account_id      | 1
    account_name    | DB Admin
    sequence_number | 1

    すべての列を表示するために横にスクロールする必要がないように、垂直出力を使用して結果をリストしました。

    私の場合、関連付けは1つだけなので、1行だけが返されます。

    sysmail_help_profileaccount_spに注意してください ストアドプロシージャはmsdbにあります データベースであり、dboが所有しています スキーマ。したがって、msdbの場合は、3つの部分からなる命名を使用する必要があります 現在のデータベースではありません。

    アカウント名/IDに基づく

    アカウント名またはIDをパラメーターとして渡すことにより、単一のアカウントに絞り込むことができます。

    アカウント名は、sysmail_add_account_spで作成されたアカウントの名前です。 msdbのストアドプロシージャ データベース。

    アカウント名を渡す方法は次のとおりです。

    EXEC msdb.dbo.sysmail_help_profileaccount_sp
        @account_name = 'DB Admin';

    IDを渡す方法は次のとおりです:

    EXEC msdb.dbo.sysmail_help_profileaccount_sp
        @account_id = 1;

    @account_idに注意してください intとして提供されます 。

    プロファイル名/IDに基づく

    または、プロファイル名またはIDをパラメーターとして渡すことにより、単一のプロファイルに絞り込むことができます。

    プロファイル名を渡す方法は次のとおりです。

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

    プロファイルIDを渡す方法は次のとおりです。

    EXEC msdb.dbo.sysmail_help_profileaccount_sp
        @profile_id = 1;

    @profile_idに注意してください intとして提供されます 。


    1. selectステートメントで日時列をUTCから現地時間に変換します

    2. SQLは単一グループグループ関数ではありません

    3. SQLServer2017でテーブルを作成する

    4. レポートの特徴