sysmail_add_profile_sp (Transact-SQL)

適用対象: SQL ServerAzure SQL Managed Instance

しいデータベース メール プロファイルを作成します。

Transact-SQL 構文表記規則

構文

sysmail_add_profile_sp [ @profile_name = ] 'profile_name'
    [ , [ @description = ] N'description' ]
    [ , [ @profile_id = ] new_profile_id OUTPUT ]
[ ; ]

引数

[ @profile_name = ] 'profile_name'

新しいプロファイルの名前。 @profile_nameは sysname で、既定値はありません。

Azure SQL Managed Instance でSQL Server エージェント ジョブを使用して電子メールを送信するには、SQL Server エージェントは 1 つのデータベース メール プロファイルのみを使用でき、呼び出AzureManagedInstance_dbmail_profileす必要があります。 詳細およびサンプル スクリプトについては、Azure SQL Managed Instance の SQL Agent ジョブの通知に関するページを参照してください。

[ @description = ] N'description'

新しいプロファイルの説明を指定します (省略可能)。 @descriptionは nvarchar(256) で、既定値はありません。

[ @profile_id = ] new_profile_id OUTPUT

新しいプロファイルの ID を返します。 @profile_idは int で、既定値は NULL.

リターン コードの値

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

解説

データベース メール プロファイルには、任意の数のデータベース メール アカウントが保持されます。 データベース メールストアド プロシージャは、プロファイル名またはこのプロシージャによって生成されたプロファイル ID によってプロファイルを参照できます。 プロファイルへのアカウントの追加の詳細については、「sysmail_add_profileaccount_sp (Transact-SQL)」を参照してください

プロファイルの名前と説明はストアド プロシージャsysmail_update_profile_spで変更できますが、プロファイル ID はプロファイルの有効期間中メイン定数です。

プロファイル名は、SQL Server データベース エンジン インスタンス内で一意である必要があります。または、ストアド プロシージャからエラーが返されます。

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

アクセス許可

このストアド プロシージャは、db_owner ロールによって所有されています。 任意のユーザーにアクセス許可を付与 EXECUTE できますが、SQL Server のアップグレード中にこれらのアクセス許可がオーバーライドされる可能性があります。

A. [新しいプロファイルを作成する]

次の例では、AdventureWorks Administrator という新しいデータベース メール プロファイルを作成します。

EXEC msdb.dbo.sysmail_add_profile_sp
       @profile_name = 'AdventureWorks Administrator',
       @description = 'Profile used for administrative mail.';

B. 新しいプロファイルを作成し、プロファイル ID を変数に保存する

次の例では、AdventureWorks Administrator という新しいデータベース メール プロファイルを作成します。 この例では、プロファイル ID 番号を変数 @profileId に格納し、新しいプロファイルのプロファイル ID 番号を含む結果セットを返します。

DECLARE @profileId INT;

EXECUTE msdb.dbo.sysmail_add_profile_sp
       @profile_name = 'AdventureWorks Administrator',
       @description = 'Profile used for administrative mail.',
       @profile_id = @profileId OUTPUT;

SELECT @profileId;