Как реализовать создание периодического отчета на почту

Задача: периодически направлять на определенную почту отчет о состоянии объектов в системе. 

Для этого реализуем функциональность по следующей схеме: 

1. Хранимая процедура подготовки данных и формирования результата в виде разметки

2. Вызов внешнего действия с отправкой почты. 

Примеры: 

Готовим данные в хранимой процедуре 1: 

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[as_perf_diag]
	@level int =1,
	@s nvarchar(max) OUTPUT
AS
BEGIN	
declare @t1 table (title nvarchar(max), db nvarchar(256), [desc] nvarchar(max), 
	digit nvarchar(512), important int)
declare @s1 nvarchar(max)=''

-- пример сбора данных 
insert into @t1(title, db, [desc], digit, important)
SELECT TOP 3 
	'Запрос с большим CPU' title, 
	db_name(st.dbID) db,
	substring(st.text, 1, 60)+ '...' [desc],
	cast(qs.total_worker_time/qs.execution_count as nvarchar) AS digit,
	3
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
CROSS apply sys.dm_exec_query_plan (qs.plan_handle) AS qp
where qs.total_worker_time >100 
 order by qs.total_worker_time/qs.execution_count desc 


-- ... здесь добавление других результатов в таблицу @t1

-- формируем разметку результата 
select @s= STUFF(( 
select ' <h3>' + db + ' - ' + title + iif(isnull(digit, '')<>'', ' ('+digit +')', '' ) + '</h3>' + 
	 '<p>' + [desc] + '</p>' from (
	select * from @t1
 ) t1 
 order by db, title desc 
  FOR XML PATH, TYPE).value('.[1]','nvarchar(max)' ), 1, 1, '')  

END;

1 раз в день вызываем эту процедуру и отправляем почту через внешнее действие: 

CREATE PROCEDURE [dbo].[falcon_nt_sync_day]
AS
BEGIN
    declare @s nvarchar(max) = ''
    exec [as_perf_diag] @level = 1, @s=@s OUTPUT
	
    if(len(@s)>0) begin     
	     select 'email' type, 'ru@rudensoft.ru' [to], 'Профилактика базы falcon.web-automation.ru' subject, @s body
    end 
END

Falcon Space - функциальная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space

Google поиск по нашей документации

SQL-инструмент для создания личных кабинетов на сайте

Суть подхода и история создания Falcon Space
Веб-платформа для создания личных кабинетов

Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы

Веб-приложения на MS SQL. Партнерская программа для разработчиков и веб-студий

Вы можете разрабатывать самостоятельно или сотрудничать с нами в плане веб-разработки на платформе Falcon Space, используя только SQL и HTML.
Смотреть примеры с кодом SQL
Документация по платформе
Работа на MS SQL Server