メールを送信するために、SQLサーバー

- BIのEMAIL

月のVARCHAR(2)@年のvarchar(4)、@ MAILのVARCHAR(500)、@strのvarchar(800)、@宣言@CCのはvarchar(10)、;
宣言@file_nameのVARCHAR(50)。
@mail_subject VARCHAR(50)を宣言する。
@htmlBody varchar型(max)を宣言します。
SELECT @year = CONVERT(VARCHAR(4)、DATEPART(年、DATEADD(MONTH、-1、GETDATE())))。
SELECT @month =右( '0' + CONVERT(VARCHAR(2)、DATEPART(月、DATEADD(MONTH、-1、GETDATE())))、2)。
SELECT @ MAIL = 'BI @ 163.com.cn';
 ベギン
  @のHtmlBody = SET
  N「<H1のスタイル= "マージン左:30px;"> <「4"フォントサイズ=> <a href="http://msbi.dcec.com.cn/pbreports"> ETL TOP 10抽出エラーログデータウェアハウス(詳細はクリック)</フォント> </a>の</ H1の>「+
  N」<表ボーダー=スタイル=「国境:固体#1 d5d5d5の1ピクセル;ボーダー崩壊:」1"崩壊;ボーダー-spacing:0;のmargin-left:30px;マージントップ:20ピクセル; "> '+
  N' <TRスタイル="高さ:25ピクセル; "> <TH幅= 60PX">テーブル</ TH>「+
  N '<TH幅=は50px>パッケージ名</番目> <TH幅= 120ピクセル> 抽出時間</ TH>' +
  N '<TH幅= 150ピクセルによって>誤り</ TH>' +
  
  CAST((
  SELECT TD = A .table_name、 ''、TD = a.package_name 、 ''、TD = a.process_starttime、 ''、TD = A。'しましたerror_description、'
  
  (選択トップ10 table_nameは、パッケージ名、process_starttime、しましたerror_descriptionから
   tempdb.dbo.bi_etl_errorから)
  (TR ')、TYPE XMLパスの'
  )AS NVARCHAR(MAX))+
  N '</ TABLE>'。
  --select @htmlBody;
  セット@ mail_subject = '数据仓库加载数据ETL任务失败';
  
  
  EXEC msdb.dbo.sp_send_dbmail
  @ profile_nameの= 'BIMAIL'、
  受信者@ = @ MAIL、
  対象@ = @ mail_subject、
  @ボディ= @のHtmlBody、
  - @ execute_query_database = 'レポートサーバー'、
  - @クエリ= '選択* DBOから.Roles'、
  - @ attach_query_result_as_file = 1、
  --@query_attachment_filename=N'a.xlsx」
  - @ file_attachments = @ file_nameを
  @ body_format = 'HTML'; 
  
 終わり
 

おすすめ

転載: www.cnblogs.com/shuihaya/p/12098656.html