我希望每小时都能在表格中插入记录。我希望能够监控该表,如果在过去一小时内没有插入任何记录,则应该向我发送电子邮件警报。
最简单/最佳解决方案是什么?批量运行,监控工具还是别的什么?
答案 0 :(得分:1)
步骤1)创建个人资料和帐户
您需要使用“配置数据库邮件向导”创建配置文件和帐户,该向导可以从“管理节点”中“数据库邮件”节点的“配置数据库邮件”上下文菜单中访问。此向导用于管理帐户,配置文件和数据库邮件全局设置
步骤2)
RUN:
sp_CONFIGURE 'show advanced', 1
GO
RECONFIGURE
GO
sp_CONFIGURE 'Database Mail XPs', 1
GO
RECONFIGURE
GO
步骤3)
USE msdb
GO
EXEC sp_send_dbmail @profile_name='yourprofilename',
@recipients='test@Example.com',
@subject='Test message',
@body='This is the body of the test message.
ongrates Database Mail Received By you Successfully.'
循环遍历表格
DECLARE @email_id NVARHCAR(450),@id BIGINT,@max_id BIGINT,@query NVARCHAR(1000)
SELECT @id=MIN(id),@max_id=MIN(id) FROM [email_adresses]
WHILE @id<@max_id
BEGIN
SELECT @email_id=email_id
FROM [email_adresses]
set @query='sp_send_dbmail @profile_name=''yourprofilename'',
@recipients='''+@email_id+''',
@subject=''Test message'',
@body=''This is the body of the test message.
Congrates Database Mail Received By you Successfully.'''
EXEC @query
SELECT @id=MIN(id)FROM [email_adresses] where id>@id
END
步骤4)
展开SQL Server代理节点,右键单击SQL Server代理中的“作业”节点,然后选择“新建作业”
在“新作业”窗口中,在“常规”标签上输入作业名称和说明。
选择窗口左侧的“步骤”,然后点击底部的“新建”。
在“步骤”窗口中输入步骤名称,然后选择要对其运行查询的数据库。
粘贴要在命令窗口中运行的T-SQL命令,然后单击“确定”。
单击“新建作业”窗口左侧的“计划”菜单,然后输入计划信息(例如,每天和每次)。
点击“确定” - 应该是它。
从此处how to schedule a job for sql query to run daily?及此处How to send email from SQL Server?
复制