sqlserver **發郵件需要開啟sql server **伺服器,然後,在【管理】-【資料庫郵件】中,右鍵點選配置資料庫郵件。
這是配置檔案的配置。
配置完成之後,就把下邊語句寫成儲存過程,之後,再配置定時任務,定時執行該儲存過程,發郵件。
alterprocedure
[dbo
].[logerroremail]as
declare
@emailcontent
nvarchar(2000);--
郵件內容
declare
@emailsubject
nvarchar(200);--
郵件主題
declare
@emailadress
nvarchar(100);--
郵件傳送位址
declare
@error
int; --
錯誤數declare
@logfield
nvarchar(max); --
日誌字段內容
declare
@num
int; --
資料行數
set@error=0
;
set@emailcontent='
日期:'
+convert(varchar(10),getdate(),120)+''
;--t
t1_log表檢查
select
@num
=count(*) from tt1_log where
datediff(dd,t1_log.logdate,getdate())<
2if(@num=2
)
begin
select
@logfield
=log_field from t1_log where
datediff(dd,t1_log.logdate,getdate())=0--
今天的資料
if(@logfield
like
'%error%')
begin
set@emailcontent
=@emailcontent+'
t1_log今天有錯;';
set@error
=@error+1
;
endselect
@logfield
=log_field from t1_log where
datediff(dd,t1_log.logdate,getdate())=1--
昨天的資料
if(@logfield
like
'%error%')
begin
set@emailcontent
=@emailcontent+'
t1_log昨天有錯;';
set@error
=@error+1
;
endend
else
begin
set@emailcontent
=@emailcontent+'
t1_log表資料不足兩條;';
set@error
=@error+1
;
end--
t2_log表檢查
select
@num
=count(*) from t2_log where
datediff(dd,t2_log.logdate,getdate())<
2if(@num=2
)
begin
select
@logfield
=log_field from t2_log where
datediff(dd,t2_log.logdate,getdate())=0--
今天的資料
if(@logfield
like
'%error%')
begin
set@emailcontent
=@emailcontent+'
t2_log今天有錯;';
set@error
=@error+1
;
endselect
@logfield
=log_field from t2_log where
datediff(dd,t2_log.logdate,getdate())=1--
昨天的資料
if(@logfield
like
'%error%')
begin
set@emailcontent
=@emailcontent+'
t2_log昨天有錯;';
set@error
=@error+1
;
endend
else
begin
set@emailcontent
=@emailcontent+'
t2_log表資料不足兩條;';
set@error
=@error+1
;
endif(@error
>0)
begin
exec
msdb.dbo.sp_send_dbmail
@profile_name='
logerroremail
',--
配置檔案名稱
@recipients
='56789023
@qq.com
',--
收件email位址
@subject
=@emailsubject,--
郵件主題
@body
=@emailcontent, --
郵件正文內容
@body_format='
html'--
郵件內容格式
end
SQLServer 儲存過程 定時任務發郵件
1 資料庫配置 2 儲存過程 1 create procedure dbo logerroremail 2 3as4declare emailcontent nvarchar 2000 郵件內容 5declare emailsubject nvarchar 200 郵件主題 6declare ema...
sql server儲存過程
建立表的語句 create table student sno int primary key,sname nvarchar 30 sgentle nvarchar 2 sage int,sbirth smalldatetime,sdept nvarchar 30 drop table studen...
SQLSERVER儲存過程
sqlserver儲存過程使用說明書 引言首先介紹一下什麼是儲存過程 儲存過程就是將常用的或很複雜的工作,預先用 sql語句寫好並用乙個指定的名稱儲存起來,並且這樣的語句是放在資料庫中的,還可以根據條件執行不同 sql語句,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫 ex...