sysmail_add_principalprofile_sp (Transact-SQL)

Dotyczy:SQL ServerAzure SQL Managed Instance

Udziela zgody msdb na korzystanie z profilu Poczta bazy danych przez podmiot bazy danych. Główny użytkownik bazy danych musi być powiązany z użytkownikiem uwierzytelniania SQL Server, użytkownikiem Windows lub grupą Windows.

W Azure SQL Managed Instance i SQL Server 2022 (16.x) główny użytkownik bazy danych może również mapować użytkownika Microsoft Entra.

Transact-SQL konwencje składni

Syntax

dbo.sysmail_add_principalprofile_sp
    { [ @principal_id = ] principal_id
        | [ @principal_name = ] N'principal_name' }
    , { [ @profile_id = ] profile_id
        | [ @profile_name = ] N'profile_name' }
    , [ @is_default = ] is_default
[ ; ]

Arguments

[ @principal_id = ] principal_id

ID użytkownika bazy danych lub roli w bazie msdb danych dla powiązania. @principal_id jest int, z domyślnym obciążeniem NULL. Należy określić @principal_id lub @principal_name . @principal_id czyni 0 ten profil publicznym, zapewniając dostęp wszystkim głównym osobom w bazie danych.

[ @principal_name = ] N'principal_name'

Nazwa użytkownika bazy danych lub rola w bazie msdb danych dla powiązania. @principal_name to nazwa systemu, z domyślnym .NULL Należy określić @principal_id lub @principal_name . @principal_name czyni public ten profil publicznym, zapewniając dostęp wszystkim głównym osobom w bazie danych.

[ @profile_id = ] profile_id

ID profilu stowarzyszenia. @profile_id jest int z wartością domyślną NULL. Trzeba określić @profile_id lub @profile_name .

[ @profile_name = ] N'profile_name'

Nazwa profilu stowarzyszenia. @profile_name jest nazwą systemu bez wartości domyślnej. Trzeba określić @profile_id lub @profile_name .

[ @is_default = ] is_default

Określa, czy ten profil jest domyślnym profilem dla głównego użytkownika. Podmiot musi mieć dokładnie jeden domyślny profil. @is_default jest bit, bez domyślnego domyślenia.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Remarks

Aby udostępnić profil, należy określić @principal_id lub 0@principal_name .public Publiczny profil jest dostępny dla wszystkich użytkowników bazy msdb , choć użytkownicy muszą być również członkiem DatabaseMailUserRole , aby wykonać sp_send_dbmail.

Użytkownik bazy danych może mieć tylko jeden domyślny profil. Gdy @is_default jest 1 i użytkownik jest już powiązany z jednym lub kilkoma profilami, określony profil staje się domyślnym profilem użytkownika. Profil, który wcześniej był domyślnym, nadal jest powiązany z użytkownikiem, ale nie jest już profilem domyślnym.

Gdy @is_default jest i 0 nie istnieje żadne inne powiązanie, procedura przechowywana zwraca błąd.

Procedura sysmail_add_principalprofile_sp składowana znajduje się w msdb bazie danych i jest własnością schematu dbo . Procedura musi być wykonywana z trzyczęściową nazwą, jeśli bieżąca baza danych nie msdbjest .

Permissions

Możesz przyznać EXECUTE uprawnienia tej procedurze, ale mogą one zostać nadpisane podczas aktualizacji SQL Server.

Examples

A. Stwórz powiązanie i ustaw domyślny profil

Poniższy przykład tworzy powiązanie między profilem a AdventureWorks Administrator Profile użytkownikiem ApplicationUserbazy msdb danych. Profil jest domyślnym profilem użytkownika.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks Administrator Profile',
    @is_default = 1;

B. Ustaw profil jako domyślny publiczny profil

Poniższy przykład sprawia, że profil AdventureWorks Public Profile jest domyślnym publicznym profilem msdb dla użytkowników w bazie danych.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @principal_name = 'public',
    @profile_name = 'AdventureWorks Public Profile',
    @is_default = 1;