Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Azure 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 ;