Udostępnij za pomocą


Tworzenie profilu poczty bazy danych

Dotyczy:SQL Server

Użyj Kreatora konfiguracji poczty bazy danych lub Transact-SQL, aby utworzyć profile publiczne i prywatne poczty bazy danych. Aby uzyskać więcej informacji na temat profilów poczty, zobacz Database Mail Configuration Objects (Obiekty konfiguracji poczty bazy danych).

Wskazówka

Tworzenie profilu poczty bazy danych nie jest konieczne w usłudze Azure SQL Managed Instance, która jest już skonfigurowana do wyszukiwania profilu o nazwie AzureManagedInstance_dbmail_profile. Aby uzyskać więcej informacji i przykładowy skrypt, zobacz powiadomienia o zadaniach agenta SQL dla zarządzanej instancji Azure SQL.

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.

Zabezpieczenia

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.

Tworzenie profilu poczty bazy danych przy użyciu Kreatora konfiguracji poczty bazy danych

W poniższych krokach jest używany program SQL Server Management Studio (SSMS). Pobierz najnowszą wersję programu SSMS pod adresem aka.ms/ssms.

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

  2. Rozwiń węzeł zarządzania

  3. Kliknij dwukrotnie Poczta bazy danych, aby otworzyć Kreatora konfiguracji Poczty bazy danych.

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

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

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

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

Aby skonfigurować prywatny profil poczty Database Mail

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

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

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

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

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

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

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

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

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

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

Tworzenie profilu poczty bazy danych przy użyciu Transact-SQL

Aby uruchomić polecenia języka T-SQL w wystąpieniu programu SQL Server, użyj programu SQL Server Management Studio (SSMS),rozszerzenia MSSQL dla programu Visual Studio Code, narzędzia sqlcmd lub ulubionego narzędzia do wykonywania zapytań T-SQL.

Tworzenie profilu poczty prywatnej bazy danych przy użyciu języka T-SQL

  1. Połącz się z wystąpieniem programu SQL Server. Otwórz nowe okno zapytania.

  2. Aby utworzyć nowy profil, uruchom systemową procedurę składowaną sysmail_add_profile_sp:

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

    W poprzednim skryscie @profile_name jest nazwą profilu i @description jest opcjonalnym przyjaznym opisem profilu.

  3. Dla każdego konta uruchom systemową procedurę składowaną 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.';
    

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

  4. 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 systemową procedurę składowaną 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';
    

    W poprzednim przykładowym skry skrycie @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 profilu publicznego poczty bazy danych przy użyciu języka T-SQL

  1. Połącz się z wystąpieniem programu SQL Server. Otwórz nowe okno zapytania.

  2. Aby utworzyć nowy profil, uruchom systemową procedurę składowaną sysmail_add_profile_sp (Transact-SQL):

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

    W poprzednim skryscie @profile_name jest nazwą profilu i @description jest opcjonalnym opisem profilu.

  3. Dla każdego konta uruchom procedurę składowaną 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.'  
    

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

  4. Aby udzielić dostępu publicznego, uruchom procedurę składowaną 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';
    

    W poprzednim przykładowym skryscie @profile_name jest nazwą profilu i @principal_name wskazuje, że jest to profil publiczny, określa, @is_default 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 ;