Udostępnij za pośrednictwem


Tworzenie profilu poczty bazy danych

Dotyczy:programu SQL ServerAzure SQL Managed Instance

Użyj Kreatora konfiguracji poczty bazy danych lub Transact-SQL, aby utworzyć profile publiczne i prywatne poczty bazy danych. Aby uzyskać więcej informacji o profilach poczty, zobacz Profil poczty bazy danych.

Przed rozpoczęciem

Warunki wstępne

Utwórz co najmniej jedno konto poczty bazy danych dla profilu. Aby uzyskać więcej informacji na temat tworzenia kont poczty bazy danych, zobacz Tworzenie konta poczty bazy danych.

Bezpieczeństwo

Profil publiczny umożliwia każdemu użytkownikowi z dostępem do bazy danych msdb wysyłanie wiadomości e-mail przy użyciu tego profilu. Profil prywatny może być używany przez użytkownika lub rolę. Udzielanie ról dostępu do profilów powoduje łatwiejsze utrzymanie architektury. Aby wysyłać wiadomości e-mail, musisz być członkiem DatabaseMailUserRole w bazie danych msdb i mieć dostęp do co najmniej jednego profilu poczty bazy danych.

Uprawnienia

Użytkownik tworzący konta profilów i wykonując procedury składowane powinien być członkiem stałej roli serwera sysadmin.

Kreator konfiguracji poczty e-mail w bazie danych

Aby utworzyć profil poczty bazy danych

  • W Eksploratorze obiektów połącz się z wystąpieniem programu SQL Server, w którym chcesz skonfigurować pocztę bazy danych, i rozwiń drzewo serwera.

  • Rozwiń węzeł zarządzania

  • Kliknij dwukrotnie pozycję Poczta bazy danych, aby otworzyć Kreatora konfiguracji poczty bazy danych.

  • Na stronie Wybierz zadanie Konfiguracji wybierz opcję Zarządzaj kontami i profilami poczty bazy danych i zaznacz opcję Dalej.

  • Na stronie Zarządzanie profilami i kontami wybierz opcję Utwórz nowy profil, a następnie kliknij Dalej.

  • Na stronie Nowy profil określ nazwę profilu, Opis i dodaj konta, które mają zostać uwzględnione w profilu, a następnie wybierz pozycję Dalej.

  • Na stronie Zakończ działanie Kreatora przejrzyj akcje do wykonania i wybierz Zakończ, aby ukończyć tworzenie nowego profilu.

  • Aby skonfigurować profil prywatny poczty bazy danych:

    • Otwórz Kreatora konfiguracji usługi Database Mail.

    • Na stronie Wybierz zadanie konfiguracyjne wybierz opcję Zarządzaj kontami i profilami poczty bazy danych, a następnie wybierz Dalej.

    • Na stronie Zarządzanie Profilami i Kontami wybierz opcję Zarządzaj zabezpieczeniami profilu i naciśnij Dalej .

    • Na karcie Profile prywatne zaznacz pole wyboru dla profilu, który chcesz skonfigurować, a następnie wybierz pozycję Dalej.

    • Na stronie Zakończ działanie Kreatora przejrzyj akcje do wykonania i wybierz Zakończ, aby ukończyć konfigurowanie profilu.

  • Aby skonfigurować publiczny profil poczty bazy danych:

    • Otwórz Kreatora konfiguracji Database Mail.

    • Na stronie Wybierz zadanie konfiguracji, wybierz opcję Zarządzaj kontami i profilami poczty bazy danych, a następnie kliknij Dalej.

    • Na stronie Zarządzaj profilami i kontami wybierz opcję Zarządzaj zabezpieczeniami profilu i wybierz pozycję Dalej.

    • Na karcie Profilów publicznych zaznacz pole wyboru dla profilu, który chcesz skonfigurować, a następnie wybierz opcję Dalej.

    • Na stronie Zakończ działanie Kreatora przejrzyj akcje do wykonania i wybierz Zakończ, aby ukończyć konfigurowanie profilu.

Użyj Transact-SQL

Utwórz prywatny profil poczty bazy danych

  • Połącz się z instancją SQL Server za pomocą programu SQL Server Management Studio (SSMS) lub programu Azure Data Studio. Otwórz nowe okno zapytania.

  • Aby utworzyć nowy profil, uruchom systemową procedurę składowaną sysmail_add_profile_sp (Transact-SQL) w następujący sposób:

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

    W poprzednim skryscie @profile_name jest nazwą profilu, a @description jest opisem profilu. Ten parametr jest opcjonalny.

  • Dla każdego konta uruchom procedurę składowaną sysmail_add_profileaccount_sp (Transact-SQL) w następujący sposób:

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

    W poprzednim przykładowym skrypcie @profile_name jest nazwą profilu, a @account_name jest nazwą konta, które należy dodać do profilu. @sequence_number określa kolejność, w jakiej konta są używane w profilu.

  • Dla każdej roli bazy danych lub użytkownika, który będzie wysyłać pocztę przy użyciu tego profilu, przyznaj dostęp do profilu. W tym celu uruchom procedurę składowaną sysmail_add_principalprofile_sp (Transact-SQL) w następujący sposób:

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

    W przykładowym skrypcie @profile_name jest nazwą profilu, @principal_name jest nazwą użytkownika lub roli bazy danych, i @is_default określa, czy ten profil jest domyślny dla użytkownika lub roli bazy danych.

Poniższy przykład tworzy konto poczty bazy danych, tworzy profil prywatny poczty bazy danych, a następnie dodaje konto do profilu i udziela dostępu do profilu DBMailUsers roli bazy danych w bazie danych 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 ;  

Tworzenie publicznego profilu poczty bazy danych

  • Połącz się z wystąpieniem programu SQL Server.

  • Aby utworzyć nowy profil, uruchom systemową procedurę składowaną sysmail_add_profile_sp (Transact-SQL) w następujący sposób:

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

    W poprzednim skryscie @profile_name jest nazwą profilu, a @description jest opisem profilu. Ten parametr jest opcjonalny.

  • Dla każdego konta uruchom procedurę składowaną sysmail_add_profileaccount_sp (Transact-SQL) w następujący sposób:

    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.'  
    

    W poprzednim przykładowym skrypcie @profile_name jest nazwą profilu, a @account_name jest nazwą konta do dodania do profilu, @sequence_number określa kolejność, w jakiej konta są używane w profilu.

  • Aby udzielić dostępu publicznego, uruchom procedurę składowaną sysmail_add_principalprofile_sp (Transact-SQL) w następujący sposób:

    EXECUTE msdb.sysmail_add_principalprofile_sp
      @profile_name = 'Name of the profile' 
    , @principal_name = 'public or 0'  
    , @is_default = 'Default Profile enabled';
    

    W poprzednim przykładowym skrypcie @profile_name jest nazwą profilu, a @principal_name wskazuje, że jest to profil publiczny. @is_default określa, czy ten profil jest domyślny dla użytkownika lub roli bazy danych.

Poniższy przykład tworzy konto poczty bazy danych, tworzy profil prywatny poczty bazy danych, a następnie dodaje konto do profilu i udziela publicznego dostępu do profilu.

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

Następne kroki