Dette vil vedhæfte dit forespørgselsresultat som en csv, bare skift det til filnavn.xls, hvis du foretrækker det format. Jeg synes, csv fungerer bedre, med excel kan du få en advarsel om, at filen er i et andet format end angivet af udvidelsen.
Jeg brugte også CHAR(9) eller TAB til forespørgselsresultatseparatoren, du kan ændre det til det, der virker for dig.
Jeg har også tilføjet SET NOCOUNT ON til din forespørgsel, hvis du ikke har det, får du (1000 rækker påvirket) (uanset antallet af rækker, din forespørgsel returnerer) i slutningen af din excel-fil.
DECLARE
@tab char(1) = CHAR(9)
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Adventure Works Administrator',
@recipients = '[email protected]',
@query = 'SET NOCOUNT ON
SELECT COUNT(*) FROM AdventureWorks2012.Production.WorkOrder
WHERE DueDate > ''2004-04-30''
AND DATEDIFF(dd, ''2004-04-30'', DueDate) < 2' ,
@subject = 'Work Order Count',
@attach_query_result_as_file = 1,
@query_attachment_filename='filename.csv',
@[email protected],
@query_result_no_padding=1