Udostępnij za pośrednictwem


Jak Tworzenie profilów prywatnych poczty bazy danych (Transact-SQL)

Tworzenie prywatnych profile poczty bazy danych do wysyłania poczty Simple Mail Transfer Protocol (SMTP), należy użyć Kreatora konfiguracji poczty bazy danych lub procedury przechowywane poczty bazy danych.Profil prywatny może służyć przez użytkownika lub roli.Udzielanie ról dostępu do profilów tworzy architektura łatwiej utrzymane.

Aby utworzyć profil poczty bazy danych przy użyciu języka Transact-SQL

  1. Utwórz jedno lub kilka kont poczty bazy danych profilu.Aby uzyskać więcej informacji o tworzeniu kont pocztowych bazy danych zobacz Jak Tworzenie bazy danych kont pocztowych (Transact-SQL)

  2. Wykonaj procedura składowana msdb.dbo.sysmail_add_profile_sp utworzyć profil, określając:

    • Nazwa profilu.

    • Opcjonalny opis profilu.

  3. Dla każdego konta, należy wykonać msdb.dbo.sysmail_add_profileaccount_sp Aby dodać konto do profilu.

  4. Dla każdej rola bazy danych lub użytkownika, który będzie wysyłać poczty przy użyciu tego profilu należy udzielić dostępu do profilu przez wykonywanie msdb.sysmail_add_principalprofile_sp.

Przykład

Poniższy przykład tworzy konto pocztowe bazy danych i profilu poczty bazy danych.W przykładzie następnie dodaje konto w profilu oraz udziela dostępu do profilu do DBMailUsers rola bazy danych w msdb bazy danych.

-- Create a Database Mail account
EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'AdventureWorks2008R2 Administrator',
    @description = 'Mail account for administrative e-mail.',
    @email_address = 'dba@Adventure-Works.com',
    @replyto_address = 'danw@Adventure-Works.com',
    @display_name = 'AdventureWorks2008R2 Automated Mailer',
    @mailserver_name = 'smtp.Adventure-Works.com' ;

-- Create a Database Mail profile
EXECUTE msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'AdventureWorks2008R2 Administrator Profile',
    @description = 'Profile used for administrative mail.' ;

-- Add the account to the profile
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'AdventureWorks2008R2 Administrator Profile',
    @account_name = 'AdventureWorks2008R2 Administrator',
    @sequence_number =1 ;

-- Grant access to the profile to the DBMailUsers role
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'AdventureWorks2008R2 Administrator Profile',
    @principal_name = 'ApplicationUser',
    @is_default = 1 ;