Share via


データベース メールのプライベート プロファイルを作成する方法 (Transact-SQL)

Simple Mail Transfer Protocol (SMTP) メールを送信する際に必要となるデータベース メールのプライベート プロファイルを作成するには、データベース メール構成ウィザードまたはデータベース メール ストアド プロシージャを使用します。プライベート プロファイルを使用できるのは、ユーザーまたはロールです。プロファイルにロールのアクセス権を付与すると、保守が簡単なアーキテクチャを作成できます。

Transact-SQL を使用してデータベース メール プロファイルを作成するには

  1. プロファイルに対応する 1 つ以上のデータベース メール アカウントを作成します。データベース メール アカウントの作成方法については、「データベース メール アカウントを作成する方法 (Transact-SQL)」を参照してください。

  2. 次のパラメータを指定してストアド プロシージャ msdb.dbo.sysmail_add_profile_sp を実行することにより、プロファイルを作成します。

    • 作成するプロファイルの名前。

    • プロファイルの説明 (省略可)。

  3. アカウントごとに msdb.dbo.sysmail_add_profileaccount_sp を実行し、そのアカウントをプロファイルに追加します。

  4. メールの送信にこのプロファイルを使用する各データベース ロールまたはユーザーごとに、msdb.sysmail_add_principalprofile_sp を実行してプロファイルへのアクセスを許可します。

使用例

次の例では、データベース メール アカウントおよびデータベース メール プロファイルを作成します。その後、アカウントをプロファイルに追加し、プロファイルへのアクセス権を、msdb データベースに作成する DBMailUsers データベース ロールに与えます。

-- Create a Database Mail account
EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'AdventureWorks Administrator',
    @description = 'Mail account for administrative e-mail.',
    @email_address = 'dba@Adventure-Works.com',
    @replyto_address = 'danw@Adventure-Works.com',
    @display_name = 'AdventureWorks Automated Mailer',
    @mailserver_name = 'smtp.Adventure-Works.com' ;

-- Create a Database Mail profile
EXECUTE msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'AdventureWorks Administrator Profile',
    @description = 'Profile used for administrative mail.' ;

-- Add the account to the profile
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'AdventureWorks Administrator Profile',
    @account_name = 'AdventureWorks Administrator',
    @sequence_number =1 ;

-- Grant access to the profile to the DBMailUsers role
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'AdventureWorks Administrator Profile',
    @principal_name = 'ApplicationUser',
    @is_default = 1 ;