次の方法で共有


sysmail_help_profileaccount_sp (Transact-SQL)

適用対象: SQL Server

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

Transact-SQL 構文表記規則

構文

sysmail_help_profileaccount_sp
   { [ @profile_id = ] profile_id
      | [ @profile_name = ] 'profile_name' }
   [ , { [ @account_id = ] account_id
         | [ @account_name = ] 'account_name' } ]
[ ; ]

引数

[ @profile_id = ] profile_id

一覧表示するプロファイルのプロファイル ID。 @profile_idint で、既定値は NULL です。 @profile_idまたは@profile_nameを指定する必要があります。

[ @profile_name = ] 'profile_name'

一覧表示するプロファイルのプロファイル名。 @profile_namesysname で、既定値は NULL です。 @profile_idまたは@profile_nameを指定する必要があります。

[ @account_id = ] account_id

一覧表示するアカウント ID。 @account_idint で、既定値は NULL です。 @account_id@account_nameの両方がNULLされている場合は、プロファイル内のすべてのアカウントが一覧表示されます。

[ @account_name = ] 'account_name'

一覧表示するアカウントの名前。 @account_namesysname で、既定値は NULL です。 @account_id@account_nameの両方がNULLされている場合は、プロファイル内のすべてのアカウントが一覧表示されます。

リターン コードの値

0 (成功) または 1 (失敗)。

結果セット

次の列を含む結果セットが返されます。

列名 データ型 説明
profile_id int プロファイルのプロファイル ID。
profile_name sysname プロファイルの名前。
account_id int アカウントのアカウント ID。
account_name sysname アカウントの名前。
sequence_number int プロファイル内のアカウントのシーケンス番号。

解説

@profile_idまたは@profile_nameが指定されていない場合、このストアド プロシージャはインスタンス内のすべてのプロファイルの情報を返します。

ストアド プロシージャ sysmail_help_profileaccount_spmsdb データベースにあり、 dbo スキーマによって所有されます。 現在のデータベースが msdbされていない場合は、プロシージャを 3 部構成の名前で実行する必要があります。

アクセス許可

この手順では EXECUTE アクセス許可を付与できますが、これらのアクセス許可は SQL Server のアップグレード中にオーバーライドされる可能性があります。

A. 特定のプロファイルのアカウントを名前で一覧表示する

次の例では、プロファイル名を指定して、 AdventureWorks Administrator プロファイルの情報を一覧表示します。

EXEC msdb.dbo.sysmail_help_profileaccount_sp
   @profile_name = 'AdventureWorks Administrator';

次に結果セットを示します。行の長さは編集されています。

profile_id  profile_name                 account_id  account_name         sequence_number
----------- ---------------------------- ----------- -------------------- ---------------
131         AdventureWorks Administrator 197         Admin-MainServer     1
131         AdventureWorks Administrator 198         Admin-BackupServer   2

B. プロファイル ID で特定のプロファイルのアカウントを一覧表示する

次の例では、AdventureWorks Administrator プロファイルの情報を、プロファイル ID を指定して一覧表示します。

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @profile_id = 131 ;

次に結果セットを示します。行の長さは編集されています。

profile_id  profile_name                 account_id  account_name         sequence_number
----------- ---------------------------- ----------- -------------------- ---------------
131         AdventureWorks Administrator 197         Admin-MainServer     1
131         AdventureWorks Administrator 198         Admin-BackupServer   2

C: すべてのプロファイルのアカウントを一覧表示する

次の例は、インスタンス内のすべてのプロファイルのアカウントの一覧を示しています。

EXEC msdb.dbo.sysmail_help_profileaccount_sp;

次に結果セットを示します。行の長さは編集されています。

profile_id  profile_name                 account_id  account_name         sequence_number
----------- ---------------------------- ----------- -------------------- ---------------
131         AdventureWorks Administrator 197         Admin-MainServer     1
131         AdventureWorks Administrator 198         Admin-BackupServer   2
106         AdventureWorks Operator      210         Operator-MainServer  1