Aracılığıyla paylaş


Veritabanı Posta Profili Oluşturma

Şunlar için geçerlidir: SQL Server

Veritabanı Postası genel ve özel profilleri oluşturmak için Veritabanı Posta Yapılandırma Sihirbazı veya Transact-SQL kullanın. Posta profilleri hakkında daha fazla bilgi için bkz. Veritabanı Posta Yapılandırma Nesneleri.

Tavsiye

Azure SQL Yönetilen Örneği'nde veritabanı posta profili oluşturmak gerekli değildir, çünkü zaten AzureManagedInstance_dbmail_profile adlı bir profil aramak için yapılandırılmıştır. Daha fazla bilgi ve örnek betik için bkz. Azure SQL Yönetilen Örneği SQL Aracısı iş bildirimleri.

Önkoşullar

Profil için bir veya daha fazla Veritabanı Posta hesabı oluşturun. Veritabanı Posta hesapları oluşturma hakkında daha fazla bilgi için bkz. Veritabanı Posta Hesabı Oluşturma.

Güvenlik

Genel profil, msdb veritabanına erişimi olan tüm kullanıcıların bu profili kullanarak e-posta göndermesine olanak tanır. Özel profil bir kullanıcı veya rol tarafından kullanılabilir. Rollere profil erişimi vermek, daha kolay korunan bir mimari oluşturur. Posta göndermek için veritabanındaki msdb üyesi olmanız ve en az bir Veritabanı Posta profiline erişiminiz olmalıdır.

İzinler

Profil hesaplarını oluşturan ve saklı yordamları yürüten kullanıcı sysadmin sabit sunucu rolünün bir üyesi olmalıdır.

Veritabanı PostaSı Profili oluşturmak için Veritabanı Posta Yapılandırma Sihirbazı'nı kullanma

Aşağıdaki adımlarda SQL Server Management Studio (SSMS) kullanılır. SSMS'nin en son sürümünü aka.ms/ssms indirin.

  1. Nesne Gezgini'nde, Veritabanı Postası'nı yapılandırmak istediğiniz SQL Server örneğine bağlanın ve sunucu ağacını genişletin.

  2. Management düğümünü genişlet

  3. Veritabanı Postası Yapılandırma Sihirbazı'nı açmak için Veritabanı Postası'na çift tıklayın.

  4. Yapılandırma Görevi Seç sayfasında, Veritabanı Postası hesaplarını ve profillerini yönet seçeneğini seçin ve İleriseçeneğine tıklayın.

  5. Profilleri ve Hesapları Yönet sayfasında Yeni profil oluştur seçeneğini seçin ve İleri seçin.

  6. Yeni Profil sayfasında Profil adını, Açıklama'yı belirtin ve profile eklenecek hesapları ekleyin ve İleri seçin.

  7. Sihirbazı Tamamla , gerçekleştirilecek eylemleri gözden geçirin ve yeni profili oluşturmayı tamamlamak için Son ' seçin.

Veritabanı Postası özel profilini yapılandırmak için

  1. Veritabanı Posta Yapılandırma Sihirbazı'nı açın.

  2. Seç Yapılandırma Görevi sayfasında, Veritabanı Postası hesaplarını ve profillerini Yönet seçeneğini seçin ve sonrasınıseçin.

  3. Profilleri ve Hesapları Yönet sayfasında Profil güvenliğini yönet seçeneğini seçin ve İleriseçin.

  4. Özel Profiller sekmesinde, yapılandırmak istediğiniz profilin onay kutusunu seçin ve Sonraki'yi seçin.

  5. Sihirbazı Tamamla sayfasında, gerçekleştirilecek işlemleri inceleyin ve profili yapılandırmayı tamamlamak için son düğmesine basın.

Veritabanı Postası genel profilini yapılandırmak için

  1. Veritabanı Posta Yapılandırma Sihirbazı'nı açın.

  2. Seç Yapılandırma Görevi sayfasında, Veritabanı Postası hesaplarını ve profillerini Yönet seçeneğini seçin ve sonrasınıseçin.

  3. Profilleri ve Hesapları Yönet sayfasında Profil güvenliğini yönet seçeneğini seçin ve İleriseçin.

  4. Genel Profiller sekmesinde, yapılandırmak istediğiniz profilin onay kutusunu seçin ve İleriseçin.

  5. Sihirbazı Tamamla sayfasında, gerçekleştirilecek işlemleri inceleyin ve profili yapılandırmayı tamamlamak için son düğmesine basın.

Veritabanı posta profili oluşturmak için Transact-SQL kullanma

SQL Server örneğinizde T-SQL komutlarını çalıştırmak için SQL Server Management Studio 'yu (SSMS),Visual Studio Code için MSSQL uzantısını, sqlcmd'yi veya sık kullandığınız T-SQL sorgulama aracını kullanın.

T-SQL ile özel veritabanı posta profili oluşturma

  1. SQL Server örneğine bağlanın. Yeni bir sorgu penceresi açın.

  2. Yeni profil oluşturmak için sistem saklı yordamını çalıştırın sysmail_add_profile_sp:

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

    Önceki betikte profilin @profile_name adıdır ve @description profilin isteğe bağlı kolay açıklamasıdır.

  3. Her hesap için sysmail_add_profileaccount_sp sistem saklı yordamını çalıştırın:

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

    Önceki örnek betikte, @profile_name profilin adıdır ve @account_name profile eklenecek hesabın adıdır, @sequence_number hesapların profilde hangi sırada kullanıldığını belirler.

  4. Bu profili kullanarak posta gönderecek her veritabanı rolü veya kullanıcı için profile erişim verin. Bunu yapmak için sistem saklı yordamını çalıştırın 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';
    

    Önceki örnek betikte profilin @profile_name adı, @principal_name veritabanı kullanıcısının veya rolünün adıdır ve @is_default bu profilin veritabanı kullanıcısı veya rolü için varsayılan olup olmadığını belirler.

Aşağıdaki örnek bir Veritabanı Posta hesabı oluşturur, bir Veritabanı Postası özel profili oluşturur, ardından hesabı profile ekler ve veritabanındaki msdb veritabanı rolüne erişim verir.

-- 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 ile veritabanı postası genel profili oluşturma

  1. SQL Server örneğine bağlanın. Yeni bir sorgu penceresi açın.

  2. Yeni profil oluşturmak için sistem saklı yordamını çalıştırın sysmail_add_profile_sp (Transact-SQL):

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

    Önceki betikte profilin @profile_name adıdır ve @description profilin isteğe bağlı bir açıklamasıdır.

  3. Her hesap için saklanan yordamı çalıştırın: 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.'  
    

    Önceki örnek betikte, @profile_name profilin adıdır ve @account_name profile eklenecek hesabın adıdır, @sequence_number hesapların profilde hangi sırada kullanıldığını belirler.

  4. Genel erişim vermek için sysmail_add_principalprofile_sp (Transact-SQL) saklı yordamını çalıştırın.

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

    Önceki örnek betikte, @profile_name profilin adıdır ve @principal_name bunun bir genel profil olduğunu belirtmek için, @is_default bu profilin veritabanı kullanıcısı veya rolü için varsayılan olup olmadığını belirler.

Aşağıdaki örnek bir Veritabanı Posta hesabı oluşturur, bir Veritabanı Postası özel profili oluşturur, ardından hesabı profile ekler ve profile genel erişim verir.

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