Нашел в архиве :)
На работе переключили почтовый сервер, и конечно забыли исправить в MSSQL.
Поменяли, и за одно повторно отправили сообщения :)
DECLARE @mailitem_id [INT]DECLARE @rc INT,
@sendmailxml VARCHAR(max)
DECLARE @checkDate [DATETIME]
SELECT @checkDate = '20120326'
SELECT @mailitem_id = Min([mailitem_id])
FROM msdb.dbo.sysmail_mailitems
WHERE [sent_status] = 2
AND [send_request_date] > @checkDate
WHILE @mailitem_id IS NOT NULL
BEGIN
SET @sendmailxml =
'<requests:SendMail xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/databasemail/requests RequestTypes.xsd" xmlns:requests="http://schemas.microsoft.com/databasemail/requests"><MailItemId>'
+ CONVERT(NVARCHAR(20), @mailitem_id)
+ N'</MailItemId></requests:SendMail>'
-- Send the send request on queue.
EXEC @rc = Sp_sendmailqueues
@sendmailxml
IF @rc <> 0
BEGIN
RAISERROR(14627,16,1,@rc,'send mail')
--GOTO ErrorHandler;
END
SELECT @mailitem_id = Min([mailitem_id])
FROM msdb.dbo.sysmail_mailitems
WHERE [sent_status] = 2
AND [send_request_date] > @checkDate
AND [mailitem_id] > @mailitem_id
END
Комментариев нет:
Отправить комментарий