Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да изпратите по имейл резултатите от заявка в SQL Server (T-SQL)

SQL Server предоставя лесен начин да изпратите по имейл резултатите от заявка до вас (или до някой друг).

За да изпратите имейл с T-SQL, трябва да използвате sp_send_dbmail съхранена процедура в msdb база данни. Тази процедура приема много аргументи, един от които е @query аргумент. Това е аргументът, който прикачва резултатите от вашата заявка към имейла.

Пример

Ето един основен пример, който използва минимум аргументи:

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';

По подразбиране резултатите от заявката са изброени в тялото на имейла. Като алтернатива можете да изпратите резултатите като прикачен файл.

Премахване на подплата

Ако резултатите ви са форматирани с твърде много подпълване в колоните, можете да използвате @query_result_no_padding = 1 за да премахнете тази подплата.

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',
    @query_result_no_padding = 1,
    @subject = 'Query results as discussed';

Добавяне на резултати от заявка като прикачен файл

Можете да използвате @attach_query_result_as_file аргумент за добавяне на резултатите от заявката като прикачен файл. Това е приемливо бит стойност, като по подразбиране е 0 (без прикачен файл).

За да изпратите резултатите в прикачен файл, просто предоставете 1 за този аргумент.

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',
    @attach_query_result_as_file = 1,
    @query_attachment_filename = 'Artists.csv',
    @query_result_header = 1,
    @query_result_width = 256,
    @query_result_separator = ',',
    @exclude_query_output = 1,
    @append_query_error = 1,
    @query_no_truncate = 0,
    @query_result_no_padding = 1,
    @subject = 'Query results as discussed';

В този пример добавих още няколко аргумента.

@query_attachment_filename Аргументът ви позволява да посочите собствено име на файл (ако не предоставите този аргумент, Database Mail ще го направи).

sp_send_dbmail процедурата приема повече аргументи, отколкото съм изброил тук. Вижте документацията на Microsoft за пълен списък с аргументи и техните описания.

Конфигуриране на поща от база данни

Примерите на тази страница предполагат, че вече сте активирали и конфигурирали Database Mail.

Ако не сте конфигурирали Database Mail, вижте Как да изпратите имейл от SQL Server. Тази статия предоставя примери за T-SQL за активиране и конфигуриране на Database Mail. Не отнема много време.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 6 функции за получаване на ден, месец и година от дата в SQL Server

  2. Как да генерирате изявления за вмъкване от данни на Excel и да заредите в таблица на SQL Server - SQL Server / TSQL урок, част 103

  3. Как да променя db схемата на dbo

  4. Списък с типове данни в SQL Server 2017

  5. Преобразувайте „smalldatetime“ в „datetime“ в SQL Server (T-SQL примери)