Detta kommer att bifoga ditt frågeresultat som en csv, ändra det bara till filnamn.xls om du föredrar det formatet. Jag tycker att csv fungerar bättre, med excel kan du få en varning som säger att filen är i ett annat format än vad som anges av tillägget.
Jag använde också CHAR(9) eller TAB för frågeresultatseparatorn, du kan ändra det till det som fungerar för dig.
Jag har också lagt till SET NOCOUNT ON i din fråga, om du inte har det får du (1000 rader påverkade) (oavsett antal rader din fråga returnerar) i slutet av 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