Quando usi sp_send_dbmail
stored procedure per inviare e-mail da SQL Server, hai la possibilità di aggiungere i risultati della query all'e-mail.
Quando lo fai, potresti scoprire che è stata aggiunta una spaziatura interna indesiderata ad alcune colonne. Fortunatamente, puoi eliminare questo riempimento con il @query_result_no_padding
argomento.
Prima
Ecco un esempio di come potrebbero apparire i risultati con il riempimento.
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';
Risultato:
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)
In questo caso, c'è così tanto riempimento in corso che tutto passa alla riga successiva e le intestazioni non si allineano con i dati.
Dopo
Ecco un esempio di come appaiono i risultati dopo aver rimosso il padding.
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';
Risultato:
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)