sysmail_add_profile_sp (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
新しいデータベース メール プロファイルを作成します。
構文
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;