データベース メール プロファイルの作成
データベース メール構成ウィザードまたは Transact-SQL を使用して、データベース メールのパブリック プロファイルとプライベート プロファイルを作成します。
作業を開始する準備: 前提条件、セキュリティ
データベース メールのプライベート プロファイルの作成: データベース メール構成ウィザードの使用、Transact-SQL の使用
データベース メールのパブリック プロファイルの作成: データベース メール構成ウィザードの使用、Transact-SQL の使用
作業を開始する準備
前提条件
プロファイルに対応する 1 つ以上のデータベース メール アカウントを作成します。 データベース メール アカウントの作成方法については、「データベース メール アカウントの作成」を参照してください。
セキュリティ
パブリック プロファイルにより、msdb データベースにアクセスできるすべてのユーザーが、このプロファイルを使用して電子メールを送信できます。 プライベート プロファイルを使用できるのは、ユーザーまたはロールです。 プロファイルにロールのアクセス権を付与すると、保守が簡単なアーキテクチャを作成できます。 メールを送信するには、msdb データベースの DatabaseMailUserRole のメンバーであることに加えて、少なくとも 1 つのデータベース メール プロファイルへのアクセス許可が必要です。
権限
プロファイル アカウントを作成し、ストアド プロシージャを実行するユーザーは、sysadmin 固定サーバー ロールのメンバーである必要があります。
[先頭に戻る]
データベース メール構成ウィザードの使用
データベース メール プロファイルを作成するには
オブジェクト エクスプローラーで、データベース メールを構成する SQL Server インスタンスに接続し、サーバー ツリーを展開します。
[管理] ノードを展開します。
[データベース メール] をダブルクリックして、データベース メール構成ウィザードを開きます。
[構成タスクの選択] ページで、[データベース メール アカウントおよびプロファイルを管理する] オプションを選択して、[次へ] をクリックします。
[プロファイルとアカウントの管理] ページで、[新しいプロファイルを作成する] オプションを選択し、[次へ] をクリックします。
[新しいプロファイル] ページで、プロファイル名と説明を指定し、プロファイルに含めるアカウントを追加して、[次へ] をクリックします。
[ウィザードの完了] ページで、実行される動作を確認し、[完了] をクリックして、新しいプロファイルの作成を完了します。
データベース メールのプライベート プロファイルを構成するには
データベース メール構成ウィザードを開きます。
[構成タスクの選択] ページで、[データベース メール アカウントおよびプロファイルを管理する] オプションを選択して、[次へ] をクリックします。
[プロファイルとアカウントの管理] ページで、[プロファイル セキュリティの管理] オプションを選択し、[次へ] をクリックします。
[プライベート プロファイル] タブで、構成するプロファイルのチェック ボックスをオンにし、[次へ] をクリックします。
[ウィザードの完了] ページで、実行される動作を確認し、[完了] をクリックして、プロファイルの構成を完了します。
データベース メールのパブリック プロファイルを構成するには
データベース メール構成ウィザードを開きます。
[構成タスクの選択] ページで、[データベース メール アカウントおよびプロファイルを管理する] オプションを選択して、[次へ] をクリックします。
[プロファイルとアカウントの管理] ページで、[プロファイル セキュリティの管理] オプションを選択し、[次へ] をクリックします。
[パブリック プロファイル] タブで、構成するプロファイルのチェック ボックスをオンにし、[次へ] をクリックします。
[ウィザードの完了] ページで、実行される動作を確認し、[完了] をクリックして、プロファイルの構成を完了します。
[先頭に戻る]
Transact-SQL の使用
データベース メールのプライベート プロファイルを作成するには
SQL Server インスタンスに接続します。
新しいプロファイルを作成するには、システム ストアド プロシージャ sysmail_add_profile_sp (Transact-SQL) を次のように実行します。
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile\_name = 'Profile Name'
@description = 'Desciption'
@profile\_name はプロファイルの名前です。@description はプロファイルの説明です。 このパラメーターはオプションです。
アカウントごとに、ストアド プロシージャ sysmail_add_profileaccount_sp (Transact-SQL) を次のように実行します。
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile\_name = 'Name of the profile'
@account\_name = 'Name of the account'
@sequence\_number = 'sequence number of the account within the profile. '
@profile\_name はプロファイルの名前です。@account_name は、プロファイルに追加するアカウントの名前です。@sequence_number は、プロファイル内のアカウントが使用される順序を決定します。
このプロファイルを使用してメールを送信する各データベース ロールまたはユーザーについて、プロファイルへのアクセス権を付与します。 そのためには、ストアド プロシージャ sysmail_add_principalprofile_sp (Transact-SQL) を次のように実行します。
EXECUTE msdb.sysmail_add_principalprofile_sp
@profile\_name = 'Name of the profile'
@ principal_name = 'Name of the database user or role'
@is\_default = 'Default Profile status '
@profile\_name はプロファイルの名前です。@principal_name はデータベース ユーザーまたはロールの名前です。@is_default は、このプロファイルが、データベース ユーザーまたはロールの既定のプロファイルであるかどうかを決定します。
次の例ではまず、データベース メール アカウントを作成し、データベース メールのプライベート プロファイルを作成します。その後、アカウントをプロファイルに追加し、そのプロファイルへのアクセス権を、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 ;
[先頭に戻る]
データベース メールのパブリック プロファイルを作成するには
SQL Server インスタンスに接続します。
新しいプロファイルを作成するには、システム ストアド プロシージャ sysmail_add_profile_sp (Transact-SQL) を次のように実行します。
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile\_name = 'Profile Name'
@description = ' Desciption'
@profile\_name はプロファイルの名前です。@description はプロファイルの説明です。 このパラメーターはオプションです。
アカウントごとに、ストアド プロシージャ sysmail_add_profileaccount_sp (Transact-SQL) を次のように実行します。
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile\_name = 'Name of the profile'
@account\_name = 'Name of the account'
@sequence\_number = 'sequence number of the account within the profile. '
@profile\_name はプロファイルの名前です。@account_name は、プロファイルに追加するアカウントの名前です。@sequence_number は、プロファイル内のアカウントが使用される順序を決定します。
パブリック アクセス権を付与するには、ストアド プロシージャ sysmail_add_principalprofile_sp (Transact-SQL) を次のように実行します。
EXECUTE msdb.sysmail_add_principalprofile_sp
@profile\_name = 'Name of the profile'
@ principal_name = 'public または 0'
@is\_default = 'Default Profile status '
@profile\_name はプロファイルの名前です。@principal_name は、このプロファイルがパブリック プロファイルであることを示します。@is_default は、このプロファイルが、データベース ユーザーまたはロールの既定のプロファイルであるかどうかを決定します。
次の例ではまず、データベース メール アカウントを作成し、データベース メールのプライベート プロファイルを作成します。その後、アカウントをプロファイルに追加し、そのプロファイルへのパブリック アクセス権を与えます。
-- Create a Database Mail account
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'AdventureWorks 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 = 'AdventureWorks Automated Mailer',
@mailserver_name = 'smtp.Adventure-Works.com' ;
-- Create a Database Mail profile
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'AdventureWorks Public Profile',
@description = 'Profile used for administrative mail.' ;
-- Add the account to the profile
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'AdventureWorks Public Profile',
@account_name = 'AdventureWorks 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 = 'AdventureWorks Public Profile',
@principal_name = 'public',
@is_default = 1 ;
[先頭に戻る]