Delen via


sp_notify_operator (Transact-SQL)

Van toepassing op:SQL Server

Stuurt een e-mailbericht naar een operator via Database Mail.

Transact-SQL syntaxis-conventies

Syntaxis

sp_notify_operator
    [ [ @profile_name = ] N'profile_name' ]
    [ , [ @id = ] id ]
    [ , [ @name = ] N'name' ]
    [ , [ @subject = ] N'subject' ]
    [ , [ @body = ] N'body' ]
    [ , [ @file_attachments = ] N'file_attachments' ]
    [ , [ @mail_database = ] N'mail_database' ]
[ ; ]

Arguments

[ @profile_name = ] N'profile_name'

De naam van het Database Mail-profiel dat gebruikt moet worden om het bericht te verzenden. @profile_name is systeemnaam, met als standaard .NULL Als @profile_name niet is gespecificeerd, wordt het standaard Database Mail-profiel gebruikt.

[ @id = ] id

De identificatie waar de operator het bericht naartoe stuurt. @id is int, met een standaard van NULL.

Een van @id of @name moet worden gespecificeerd.

[ @name = ] Naamloos

De naam van de operator om het bericht naartoe te sturen. @name is een systeemnaam, met als standaard .NULL

Een van @id of @name moet worden gespecificeerd.

Een e-mailadres moet voor de operator worden gedefinieerd voordat deze berichten kan ontvangen.

[ @subject = ] N'subject'

Het onderwerp van het e-mailbericht. @subject is nvarchar(256), met als standaard .NULL

[ @body = ] N'body'

De hoofdtekst van het e-mailbericht. @body is nvarchar(max), met een standaard van NULL.

[ @file_attachments = ] N'file_attachments'

De naam van een bestand om aan het e-mailbericht te koppelen. @file_attachments is nvarchar(512), met een standaard van NULL.

[ @mail_database = ] N'mail_database'

Specificeert de naam van de mailhostdatabase. @mail_database is sysname, met als standaard .msdb Als er geen @mail_database wordt gespecificeerd, wordt de msdb database standaard gebruikt.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Opmerkingen

Stuurt het gespecificeerde bericht naar het e-mailadres van de opgegeven operator. Als de operator geen e-mailadres heeft ingesteld, sp_notify_operator geeft dit een foutmelding.

Databasemail en een mailhostdatabase moeten worden geconfigureerd voordat een melding naar een operator kan worden gestuurd.

Permissions

Je kunt rechten verlenen EXECUTE op deze procedure, maar deze rechten kunnen worden overschreven tijdens een SQL Server-upgrade.

Andere gebruikers moeten een van de volgende vaste SQL Server Agent-databaserollen in de msdb database krijgen:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Voor details over de rechten van deze rollen, zie SQL Server Agent Fixed Database Roles.

Voorbeelden

Het volgende voorbeeld stuurt een notificatie-e-mail naar de operator François Ajenstat via het AdventureWorks Administrator Database Mail-profiel. Het onderwerp van de e-mail is Test Notification. Het e-mailbericht bevat de zin, This is a test of notification via e-mail.

USE msdb;
GO

EXECUTE dbo.sp_notify_operator
    @profile_name = N'AdventureWorks Administrator',
    @name = N'François Ajenstat',
    @subject = N'Test Notification',
    @body = N'This is a test of notification via e-mail';
GO