次の方法で共有


データベース メールのパブリック プロファイルを作成する方法 (Transact-SQL)

データベース メールのパブリック プロファイルを作成するには、データベース メール構成ウィザードまたはデータベース メール ストアド プロシージャを使用します。パブリック プロファイルにより、msdb データベースにアクセスできるすべてのユーザーが、このプロファイルを使用して電子メールを送信できます。

Transact-SQL を使用して、データベース メールのパブリック プロファイルを作成するには

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

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

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

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

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

  4. @principal_name'public' を指定するか、@principal_id0 を指定して、msdb.sysmail_add_principalprofile_sp を実行することで、プロファイルへのパブリック アクセス許可を与えます。

使用例

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

-- Create a Database Mail account

EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'AdventureWorks2008R2 Public Account',
    @description = 'Mail account for use by all database users.',
    @email_address = 'db_users@Adventure-Works.com',
    @replyto_address = 'danw@Adventure-Works.com',
    @display_name = 'AdventureWorks2008R2 Automated Mailer',
    @mailserver_name = 'smtp.Adventure-Works.com' ;

-- Create a Database Mail profile

EXECUTE msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @description = 'Profile used for administrative mail.' ;

-- Add the account to the profile

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @account_name = 'AdventureWorks2008R2 Public Account',
    @sequence_number =1 ;

-- Grant access to the profile to all users in the msdb database

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @principal_name = 'public',
    @is_default = 1 ;

-- Create a Database Mail account

EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'AdventureWorks2008R2 Public Account',
    @description = 'Mail account for use by all database users.',
    @email_address = 'db_users@Adventure-Works.com',
    @replyto_address = 'danw@Adventure-Works.com',
    @display_name = 'AdventureWorks2008R2 Automated Mailer',
    @mailserver_name = 'smtp.Adventure-Works.com' ;

-- Create a Database Mail profile

EXECUTE msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @description = 'Profile used for administrative mail.' ;

-- Add the account to the profile

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @account_name = 'AdventureWorks2008R2 Public Account',
    @sequence_number =1 ;

-- Grant access to the profile to all users in the msdb database

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @principal_name = 'public',
    @is_default = 1 ;