For at sende e-mail ved hjælp af Database Mail i SQL Server skal en bruger være medlem af DatabaseMailUserRole i msdb database og har adgang til mindst én Database Mail-profil.
For at give en bruger adgang til en Database Mail-profil med T-SQL skal du bruge sysmail_add_principalprofile_sp
gemt procedure i msdb
database.
Eksempel
Her er et eksempel til at demonstrere.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Admin Profile',
@principal_name = 'Marge',
@is_default = 1;
I dette tilfælde giver jeg brugeren "Marge" adgang til profilen "DB Admin Profile".
Dette forudsætter, at profilen og brugeren allerede eksisterer.
I dette tilfælde specificerede jeg også @is_default = 1
, hvilket gør dette til standardprofilen for brugeren.
Angiv bruger-/profil-id'er
Du kan alternativt angive bruger-id'et og/eller konto-id'et i stedet for deres navne.
Derfor kunne vi ændre det forrige eksempel til at se sådan ud:
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_id = 1,
@principal_id = 25,
@is_default = 1;
Dette forudsætter naturligvis, at det er ID'erne for de pågældende konti.
Bemærk, at enten navnet eller ID'et skal angives.
Når ID'erne angives, er de også angivet som int .
Bemærk, at sysmail_add_principalprofile_sp
gemt procedure er i msdb
databasen, og den ejes af dbo
skema. Derfor skal du bruge tredelt navngivning, hvis du udfører det uden for msdb
database.
Offentlige profiler
Du kan også gøre en profil til den offentlige standardprofil for brugere i msdb database.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Public Profile',
@principal_name = 'public',
@is_default = 1;
For at gøre en profil offentlig, skal du angive en @principal_id
af 0
eller en @principal_name
af public
. En offentlig profil er tilgængelig for alle brugere i msdb database (selvom brugere også skal være medlem af DatabaseMailUserRole for at udføre sp_send_dbmail
).
Bemærk, at der kun kan være én offentlig standardprofil.
Konfiguration af databasemail
Ovenstående trin forudsætter, at du allerede har oprettet en Database Mail-profil og tilføjet mindst én Database Mail-konto til den profil.
Se Sådan sender du e-mail i SQL Server for et komplet eksempel på konfiguration af databasemail og derefter afsendelse af en e-mail.