När du använder sp_send_dbmail
lagrad procedur för att skicka e-post från SQL Server, har du möjlighet att lägga till frågeresultat till e-postmeddelandet.
När du gör detta kan du upptäcka att oönskad utfyllnad har lagts till i vissa kolumner. Lyckligtvis kan du eliminera denna utfyllnad med @query_result_no_padding
argument.
Före
Här är ett exempel på hur resultaten kan se ut med stoppning.
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';
Resultat:
Potential candidates for an Admin job, perhaps? ArtistId ArtistName ActiveFrom ----------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------- ---------------- 1 Iron Maiden 1975-12-25 2 AC/DC 1973-01-11 3 Allan Holdsworth 1969-01-01 4 Buddy Rich 1919-01-01 5 Devin Townsend 1993-01-01 (5 rows affected)
I det här fallet är det så mycket utfyllnad att allt går över till nästa rad, och rubrikerna stämmer inte överens med data.
Efter
Här är ett exempel på hur resultatet ser ut efter att jag har tagit bort stoppningen.
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';
Resultat:
Potential candidates for an Admin job, perhaps? ArtistId ArtistName ActiveFrom -------- ---------- ---------- 1 Iron Maiden 1975-12-25 2 AC/DC 1973-01-11 3 Allan Holdsworth 1969-01-01 4 Buddy Rich 1919-01-01 5 Devin Townsend 1993-01-01 (5 rows affected)