SQL Server giver en nem måde at e-maile resultaterne af en forespørgsel til dig selv (eller til en anden).
For at sende e-mail med T-SQL skal du bruge sp_send_dbmail
gemt procedure i msdb database. Denne procedure accepterer mange argumenter, hvoraf et er @query
argument. Det er argumentet, der vedhæfter resultaterne af din forespørgsel til e-mailen.
Eksempel
Her er et grundlæggende eksempel, der bruger et minimum af argumenter:
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Potential candidates for an Admin job, perhaps?',
@query = 'SELECT TOP(5) * FROM Artists;',
@execute_query_database = 'Music',
@subject = 'Query results as discussed';
Som standard vises resultaterne af forespørgslen i e-mailens brødtekst. Du kan alternativt få resultaterne sendt som en vedhæftet fil.
Fjern polstring
Hvis dine resultater er formateret med for meget udfyldning i kolonnerne, kan du bruge @query_result_no_padding = 1
for at fjerne denne polstring.
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Potential candidates for an Admin job, perhaps?',
@query = 'SELECT TOP(5) * FROM Artists;',
@execute_query_database = 'Music',
@query_result_no_padding = 1,
@subject = 'Query results as discussed';
Tilføj forespørgselsresultater som en vedhæftet fil
Du kan bruge @attach_query_result_as_file
argument for at tilføje forespørgselsresultaterne som en vedhæftet fil. Dette accepterer en bit værdi, hvor standarden er 0
(for ingen vedhæftet fil).
For at sende resultaterne i en vedhæftet fil, skal du blot angive en 1
for dette argument.
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB Admin Profile',
@recipients = '[email protected]',
@body = 'Potential candidates for an Admin job, perhaps?',
@query = 'SELECT TOP(5) * FROM Artists;',
@execute_query_database = 'Music',
@attach_query_result_as_file = 1,
@query_attachment_filename = 'Artists.csv',
@query_result_header = 1,
@query_result_width = 256,
@query_result_separator = ',',
@exclude_query_output = 1,
@append_query_error = 1,
@query_no_truncate = 0,
@query_result_no_padding = 1,
@subject = 'Query results as discussed';
I dette eksempel har jeg tilføjet nogle flere argumenter.
@query_attachment_filename
argument giver dig mulighed for at angive dit eget filnavn (hvis du ikke angiver dette argument, vil Database Mail lave et).
sp_send_dbmail
procedure accepterer flere argumenter, end jeg har anført her. Se Microsofts dokumentation for en komplet liste over argumenter og deres beskrivelser.
Konfiguration af databasemail
Eksemplerne på denne side antager, at du allerede har aktiveret og konfigureret Database Mail.
Hvis du ikke har konfigureret Database Mail, se Sådan sender du e-mail fra SQL Server. Denne artikel giver T-SQL-eksempler til aktivering og konfiguration af Database Mail. Det tager ikke lang tid.