sql >> Database >  >> RDS >> Sqlserver

Een msdb-gebruikerstoegang verlenen tot een database-e-mailprofiel in SQL Server (T-SQL)

Om e-mail te verzenden met Database Mail in SQL Server, moet een gebruiker lid zijn van de DatabaseMailUserRole in de msdb database en toegang hebben tot ten minste één Database Mail-profiel.

Om een ​​gebruiker toegang te verlenen tot een Database Mail-profiel met T-SQL, gebruikt u de sysmail_add_principalprofile_sp opgeslagen procedure in de msdb databank.

Voorbeeld

Hier is een voorbeeld om te demonstreren.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'DB Admin Profile',
    @principal_name = 'Marge',
    @is_default = 1;

In dit geval verleen ik de gebruiker “Marge” toegang tot het profiel “DB Admin Profile”.

Dit veronderstelt dat het profiel en de gebruiker al bestaan.

In dit geval heb ik ook @is_default = 1 . opgegeven , waardoor dit het standaardprofiel voor de gebruiker is.

Geef gebruikers-/profiel-ID's op

U kunt ook de gebruikers-ID en/of de account-ID opgeven in plaats van hun namen.

Daarom zouden we het vorige voorbeeld kunnen veranderen om er ongeveer zo uit te zien:

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_id = 1,
    @principal_id = 25,
    @is_default = 1;

Dit veronderstelt uiteraard dat dit de ID's zijn voor de betreffende accounts.

Merk op dat ofwel de naam ofwel de ID moet worden opgegeven.

Bij het verstrekken van de ID's worden ze ook verstrekt als int .

Merk op dat de sysmail_add_principalprofile_sp opgeslagen procedure staat in de msdb database, en het is eigendom van de dbo schema. Daarom moet u een driedelige naamgeving gebruiken als u deze van buiten de msdb uitvoert database.

Openbare profielen

U kunt van een profiel ook het standaard openbare profiel voor gebruikers maken in de msdb database.

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

Om een ​​profiel openbaar te maken, specificeert u een @principal_id van 0 of een @principal_name van public . Een openbaar profiel is beschikbaar voor alle gebruikers in de msdb database (hoewel gebruikers ook lid moeten zijn van DatabaseMailUserRole om sp_send_dbmail uit te voeren ).

Houd er rekening mee dat er maar één standaard openbaar profiel kan zijn.

Database-e-mail configureren

Bij de bovenstaande stappen wordt ervan uitgegaan dat u al een Database Mail-profiel hebt gemaakt en ten minste één Database Mail-account aan dat profiel hebt toegevoegd.

Zie E-mail verzenden in SQL Server voor een compleet voorbeeld van het configureren van Database Mail en vervolgens het verzenden van een e-mail.


  1. Slony-I 2.0.x upgraden naar de nieuwste versie 2.1.x

  2. Inleiding tot Firebase

  3. Postgres-gebruiker bestaat niet?

  4. PostgreSQL:Waarom kan psql geen verbinding maken met de server?