Поделиться через


Создание профиля компонента Database Mail

Открытые и закрытые профили компонента Database Mail можно создать с помощью мастера настройки компонента Database Mail или Transact-SQL.

  • Перед началом Обязательные условия, Безопасность

  • Создание закрытого профиля компонента Database Mail с использованием следующих методов. Мастер настройки компонента Database Mail, Transact-SQL

  • Создание открытого профиля компонента Database Mail с использованием следующих методов.  Мастер настройки компонента Database Mail, Transact-SQL

Перед началом

Предварительные требования

Создайте одну или несколько учетных записей компонента Database Mail для профиля. Дополнительные сведения о создании учетных записей компонента Database Mail см. в разделе Создание учетной записи компонента Database Mail.

Безопасность

Открытый профиль дает возможность всем пользователям получать доступ к базе данных msdb, отправив туда почтовое сообщение из этого профиля. Персональный профиль может использоваться как пользователем, так и ролью. Предоставление роли доступа к профилю создает более простую обслуживаемую архитектуру. Для отправки почты пользователь должен быть членом роли DatabaseMailUserRole в базе данных msdb, а также иметь доступ как минимум к одному профилю Database Mail.

Разрешения

Пользователь, создающий учетные записи профилей и выполняющий хранимые процедуры, должен быть членом предопределенной роли сервера sysadmin.

[В начало]

Использование мастера настройки компонента Database Mail

Создание профиля компонента Database Mail

  • В обозревателе объектов подключитесь к экземпляру SQL Server, для которого необходимо настроить компонент Database Mail, и разверните дерево сервера.

  • Разверните узел Управление

  • Дважды щелкните компонент Database Mail, чтобы открыть мастер настройки компонента Database Mail.

  • На странице Выбор задачи настройки выберите Управление учетными записями и профилями компонента Database Mail и нажмите кнопку Далее.

  • На странице Управление профилями и учетными записями выберите команду Создать новый профиль и нажмите кнопку Далее.

  • На странице Создать профиль задайте имя профиля и описание, а также добавьте учетные записи, которые будут включены в профиль, затем нажмите кнопку Далее.

  • На странице Завершение работы мастера просмотрите действия, которые будут выполнены, и нажмите кнопку Готово, чтобы завершить создание нового профиля.

  • Настройка закрытого профиля компонента Database Mail.

    • Откройте мастер настройки компонента Database Mail.

    • На странице Выбор задачи настройки выберите Управление учетными записями и профилями компонента Database Mail и нажмите кнопку Далее.

    • На странице Управление учетными записями и профилями выберите Управление безопасностью профилей и нажмите кнопку Далее.

    • На вкладке Закрытые профили установите флажок для профиля, который необходимо настроить, и нажмите кнопку Далее.

    • На странице Завершение работы мастера просмотрите действия, которые необходимо выполнить, и нажмите кнопку Готово, чтобы завершить настройку профиля.

  • Настройка открытого профиля компонента Database Mail.

    • Откройте мастер настройки компонента Database Mail.

    • На странице Выбор задачи настройки выберите Управление учетными записями и профилями компонента Database Mail и нажмите кнопку Далее.

    • На странице Управление учетными записями и профилями выберите Управление безопасностью профилей и нажмите кнопку Далее.

    • На вкладке Открытые профили установите флажок для профиля, который необходимо настроить, и нажмите кнопку Далее.

    • На странице Завершение работы мастера просмотрите действия, которые необходимо выполнить, и нажмите кнопку Готово, чтобы завершить настройку профиля.

[В начало]

Использование Transact-SQL

Создание закрытого профиля компонента Database Mail

  • Подключитесь к экземпляру 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 определяет, является ли этот профиль профилем по умолчанию для пользователя или роли базы данных.

В следующем примере создается учетная запись компонента Database Mail, создается закрытый профиль компонента Database Mail, затем учетная запись добавляется к профилю и предоставляется доступ к профилю для роли базы данных DBMailUsers в базе данных msdb.

-- 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 ;

[В начало]

Создание открытого профиля компонента Database Mail

  • Подключитесь к экземпляру 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 определяет, является ли этот профиль профилем по умолчанию для пользователя или роли базы данных.

В следующем примере создается учетная запись компонента Database Mail, создается закрытый профиль компонента Database Mail, затем учетная запись добавляется к профилю и предоставляется общий доступ к профилю.

-- 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 ;

[В начало]