Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào tôi có thể sử dụng sp_send_dbmail để gửi nhiều truy vấn?

Sử dụng @query tham số của thủ tục được lưu trữ msdb.dbo.sp_send_dbmail cho tệp đính kèm và sử dụng @body với một biến chứa kết quả của truy vấn khác.

Mã ví dụ bên dưới tạo một chuỗi từ lịch sử bước công việc SQL Server có chứa các phần tử bảng HTML được sử dụng để gửi email bằng thủ tục được lưu trữ msdb.dbo.sp_send_dbmail . Bạn sẽ có thể điều chỉnh nó cho các mục đích của mình.

DECLARE @cat        varchar(MAX),
        @email_id   int


SELECT @cat = COALESCE(@cat + '', '')
                + '<tr><td>'
                + j.[name] + '</td><td>'
                + CAST(js.step_id AS varchar) + '</td><td>'
                + js.step_name + '</td><td>'
                + CONVERT(char(23), jsl.date_created, 121) + '</td><td>'
                + jsl.[log] + '</td></tr>'
FROM    msdb.dbo.sysjobstepslogs jsl
        JOIN msdb.dbo.sysjobsteps js ON jsl.step_uid = js.step_uid
        JOIN msdb.dbo.sysjobs j ON js.job_id = j.job_id


SET @cat = '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<style type="text/css">
    td {
        border: 1pt dotted #ddd;
    }

    #log_text {
        width: 20em;
    }
</style>
</head>
<body>
<table>
<colgroup>
    <col />
    <col />
    <col />
    <col />
    <col id="log_text" />
</colgroup>
<thead>
<tr>
<th>Job</th><th>Step</th><th>Step name</th><th>Log created</th><th>Log text</th></tr>
</thead>
<tbody>
        ' + @cat + '
</tbody>
</table>
</body>
</html>'


EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'SQLServerDatabaseMailProfile',
    @recipients = '[email protected]',
    @subject = 'SQL Server Database Mail · Job step logs',
    @body = @cat,
    @body_format = 'HTML',
    @mailitem_id = @email_id OUTPUT



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo lược đồ bảng SQL Server từ một lược đồ XML? (với .NET và Visual Studio 2008)

  2. Cách thay thế một chuỗi trong cột bảng SQL Server

  3. Cách bỏ qua các thẻ html trong Sql Server 2008 Full Text Search

  4. Kiểu dữ liệu nào để lưu trữ hình ảnh và tài liệu trong SQL Server 2005

  5. SQL Server bcp Utility và kiểu dữ liệu số