Sql server 2008 r2 配置Sql Server作业警报以在特定时间向用户发送电子邮件
我已经为每天向用户发送电子邮件创建了一个工作提醒。我使用了数据库邮件并编写了一个脚本向属于特定类别的用户发送电子邮件。 但是我只想把这封邮件发给用户三天。电子邮件只应发送给所有用户三天 更新:Sql server 2008 r2 配置Sql Server作业警报以在特定时间向用户发送电子邮件,sql-server-2008-r2,sql-server-2012,Sql Server 2008 R2,Sql Server 2012,我已经为每天向用户发送电子邮件创建了一个工作提醒。我使用了数据库邮件并编写了一个脚本向属于特定类别的用户发送电子邮件。 但是我只想把这封邮件发给用户三天。电子邮件只应发送给所有用户三天 更新: DECLARE @name VARCHAR(20), @birthdate datetime, @email NVARCHAR(50), @id nvarchar(MAX) DECLARE @body NVARCHAR(1000) DECLARE CC1 CURSOR READ_ONLY FOR SELE
DECLARE @name VARCHAR(20),
@birthdate datetime,
@email NVARCHAR(50),
@id nvarchar(MAX)
DECLARE @body NVARCHAR(1000)
DECLARE CC1 CURSOR READ_ONLY
FOR
SELECT Name, Birthdate, Email
FROM TestDB.dbo.cust
OPEN CC1
FETCH NEXT FROM CC1 INTO
@name, @birthdate, @email
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @id= Ename FROM TestDB.dbo.TestEmail
IF @email = @id
BEGIN
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'vate',
@recipients = 'vegeta@gmail.com',
@body = 'The stored procedure finished successfully.',
@subject = 'Automated Success Message' ;
END
FETCH NEXT FROM CC1 INTO
@name, @birthdate, @email
END
CLOSE CC1
DEALLOCATE CC1
首先,使用Management Studio Management Studio>SQL Server Agent>作业>新建作业创建作业时,可以在“计划”选项卡上创建计划 使用此向导创建作业后,可以使用向导顶部的schedule-script按钮获取SQL脚本来创建此作业 以下是此脚本的一部分,用于创建作业计划:
DECLARE @schedule_id int
EXEC msdb.dbo.sp_add_jobschedule @job_name=N'backup_job', @name=N'my_schedule',
@enabled=1,
@freq_type=8,
@freq_interval=7,
@freq_subday_type=1,
@freq_subday_interval=0,
@freq_relative_interval=0,
@freq_recurrence_factor=1,
@active_start_date=20140709,
@active_end_date=99991231,
@active_start_time=0,
@active_end_time=235959, @schedule_id = @schedule_id OUTPUT
select @schedule_id
GO
好提示,但我需要帮助连续三天向用户发送电子邮件。我需要为任务设置时间表。请提供您的代码。我现在看不出有什么问题。您可以使用活动开始日期和活动结束日期设置连续三天的计划。我不知道如何从sql job agent获取脚本。请告诉我如何。每个用户将在三天内收到电子邮件。如果Raj只收到三天的电子邮件,那么调度程序将开始向其他用户发送电子邮件。检查我的最新问题。但是,我没有实现逻辑,因为我不知道如何。。