Создание профиля компонента Database Mail
Область применения: SQL Server Управляемый экземпляр SQL Azure
Используйте мастер настройки компонента Database Mail или Transact-SQL для создания общедоступных и частных профилей Database Mail. Дополнительные сведения о профилях почты см. в разделе "Профиль компонента Database Mail".
Перед началом
Необходимые компоненты
Создайте одну или несколько учетных записей компонента 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.
На странице "Выбор задачи конфигурации" выберите пункт "Управление учетными записями и профилями базы данных" и нажмите кнопку "Далее".
На странице "Управление профилями и учетными записями" выберите пункт "Управление безопасностью профиля" и нажмите кнопку "Далее".
На вкладке "Общедоступные профили" установите флажок для профиля, который вы хотите настроить и нажмите кнопку "Далее".
На странице "Завершение работы мастера" просмотрите действия, которые необходимо выполнить, и нажмите кнопку "Готово", чтобы завершить настройку профиля.
Использование Transact-SQL
Создание частного профиля почты базы данных
Подключитесь к экземпляру SQL Server с помощью SQL Server Management Studio (SSMS) или Azure Data Studio. Откройте новое окно запроса.
Чтобы создать новый профиль, запустите системную хранимую процедуру sysmail_add_profile_sp (Transact-SQL), как показано ниже.
EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'Profile Name' , @description = 'Description';
В предыдущем скрипте @profile_name — это имя профиля, а @description — описание профиля. Это необязательный параметр.
Для каждой учетной записи выполните хранимую процедуру sysmail_add_profileaccount_sp (Transact-SQL), как показано ниже.
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 'Profile Name' , @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 enabled';
В предыдущем примере скрипта @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 ;
Создание общедоступного профиля почты базы данных
Установите подключение к экземпляру SQL Server.
Чтобы создать новый профиль, запустите системную хранимую процедуру sysmail_add_profile_sp (Transact-SQL), как показано ниже.
EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'Profile Name' , @description = 'Description';
В предыдущем скрипте @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 or 0' , @is_default = 'Default Profile enabled';
В предыдущем примере скрипта @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 ;