Lorsque vous utilisez le sp_send_dbmail
procédure stockée pour envoyer des e-mails à partir de SQL Server, vous avez la possibilité d'ajouter des résultats de requête à l'e-mail.
Lorsque vous faites cela, vous pouvez constater qu'un rembourrage indésirable a été ajouté à certaines colonnes. Heureusement, vous pouvez éliminer ce rembourrage avec le @query_result_no_padding
arguments.
Avant
Voici un exemple de ce à quoi les résultats pourraient ressembler avec le rembourrage.
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';
Résultat :
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)
Dans ce cas, il y a tellement de remplissage que tout passe à la ligne suivante, et les en-têtes ne s'alignent pas avec les données.
Après
Voici un exemple de ce à quoi ressemblent les résultats après avoir supprimé le rembourrage.
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';
Résultat :
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)