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


Создайте профиль для почтовой базы данных

Применимо к:SQL Server

Используйте мастер настройки компонента Database Mail или Transact-SQL для создания общедоступных и частных профилей Database Mail. Дополнительные сведения о профилях почты см. в разделе "Объекты конфигурации компонента Database Mail".

Подсказка

Создание профиля почты базы данных не требуется в Управляемом экземпляре SQL Azure, который уже настроен для поиска профиля AzureManagedInstance_dbmail_profile. Дополнительные сведения и пример скрипта см. в разделе уведомления о заданиях агента SQL для управлямого экземпляра SQL Azure.

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

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

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

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

Разрешения

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

Создание профиля компонента Database Mail с помощью мастера настройки компонента Database Mail

В приведенных ниже инструкциях используется SQL Server Management Studio (SSMS). Скачайте последнюю версию SSMS на aka.ms/ssms.

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

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

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

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

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

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

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

Настройка закрытого профиля Database Mail

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

  2. На странице "Выбор задачи конфигурации" выберите пункт "Управление учетными записями и профилями базы данных" и нажмите кнопку "Далее".

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

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

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

Настроить публичный профиль Database Mail

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

  2. На странице "Выбор задачи конфигурации" выберите пункт "Управление учетными записями и профилями базы данных" и нажмите кнопку "Далее".

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

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

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

Используйте Transact-SQL для создания профиля почты для базы данных

Чтобы выполнить команды T-SQL в экземпляре SQL Server, используйте SQL Server Management Studio (SSMS),расширение MSSQL для Visual Studio Code, sqlcmd или любимое средство запросов T-SQL.

Создание профиля почты частной базы данных с помощью T-SQL

  1. Подключитесь к экземпляру SQL Server. Откройте новое окно запроса.

  2. Чтобы создать новый профиль, запустите системную хранимую процедуру sysmail_add_profile_sp:

    EXECUTE msdb.dbo.sysmail_add_profile_sp
      @profile_name = 'Profile Name'  
    , @description = 'Description';
    

    В предыдущем скрипте @profile_name — это имя профиля, а @description — необязательное удобное описание профиля.

  3. Для каждой учетной записи выполните системную хранимую процедуру sysmail_add_profileaccount_sp:

    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 определяет порядок использования учетных записей в профиле.

  4. Всем ролям или пользователям баз данных, отправляющим письма с использованием этого профиля, следует предоставить доступ к профилю. Для этого выполните системную хранимую процедуру sysmail_add_principalprofile_sp:

    EXECUTE msdb.dbo.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 ;  

Создание общедоступного профиля почты базы данных с помощью T-SQL

  1. Подключитесь к экземпляру SQL Server. Откройте новое окно запроса.

  2. Чтобы создать новый профиль, выполните системную хранимую процедуру sysmail_add_profile_sp (Transact-SQL):

    EXECUTE msdb.dbo.sysmail_add_profile_sp
      @profile_name = 'Profile Name'  
    , @description = 'Description';
    

    В предыдущем сценарии @profile_name — это имя профиля, а @description — это необязательное описание профиля.

  3. Для каждой учетной записи выполните хранимую процедуру 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 определяет порядок использования учетных записей в профиле.

  4. Чтобы предоставить общедоступный доступ, выполните хранимую процедуру sysmail_add_principalprofile_sp (Transact-SQL):

    EXECUTE msdb.dbo.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 ;