Solved

How to send email of query results in tsql

Posted on 2008-10-24
4
1,501 Views
Last Modified: 2012-05-05
I have some tsql that performs a query to return the lastest DB backup info for a given backup(s).  I want to email the results of this query.  I have found some xp_send stuff, but wanted to get a whole solution.
0
Comment
Question by:66chawger
4 Comments
 
LVL 19

Accepted Solution

by:
folderol earned 400 total points
ID: 22801357
See these BOL articles.  You should be using sp_send_dbmail, which is the SQL2005 mail solution.
xp_sendmail is for older versions.

ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/tsqlref9/html/f1d7a795-a3fd-4043-ac4b-c781e76dab47.htm
http://msdn.microsoft.com/en-us/library/ms175887.aspx


0
 
LVL 3

Expert Comment

by:raminhos
ID: 22801418
you can try something like this:

exec master.dbo.xp_sendmail

@recipients = 'myemail@email.com',

@subject = 'my email subject',

@message = 'My email message...',

@query = 'select * from table',

@attach_results = false

Open in new window

0
 
LVL 13

Assisted Solution

by:sm394
sm394 earned 100 total points
ID: 22802782
few more good article about setting up and sending database mail in sql server 2005
http://www.codeproject.com/KB/database/SQLServer2008DatabaseMail.aspx
http://www.mssqltips.com/tip.asp?tip=1438
0
 

Author Comment

by:66chawger
ID: 22822043
First of all, thanks for the info.  Attached is a code snippet (very crude) which performs a query and emails me the results.  What I want to do is (1) update the query so I can query for multiple DB's instead of duplicating the query multiple times  (2) Format the Query so the results line up with the headings (column names).  
EXEC sp_send_dbmail 

@recipients='me@mycompany.com',

@subject = 'DB Backups',

@body ='Please review latest SQL DB Backup files',

@query ='SELECT DISTINCT TOP 20

s1.type,

s1.backup_start_date,

s1.backup_finish_date,

--s1.first_lsn,

--s1.last_lsn,s1.checkpoint_lsn,

--s1.database_backup_lsn,

s2.physical_device_name

from msdb..backupset s1 inner join msdb..backupmediafamily s2

on s1.media_set_id = s2.media_set_id

where s1.database_name ="Database name 1" 

and s1.backup_start_date >= "10/10/2008 06:41:25 AM"

-- You will need to change to the database you are querying

and s1.type in("D","L","I") -- sl.type in ("D","L") means full or Transaction Log backups (if "I", Differential backups) or ("F" for File Group, "G" for File Group Differential)

and s1.backup_start_date >= (select max(backup_start_date) from msdb..backupset where database_name ="Database name 1" and type ="D") 

order by s1.backup_start_date desc'

Open in new window

0

Featured Post

Control application downtime with dependency maps

Visualize the interdependencies between application components better with Applications Manager's automated application discovery and dependency mapping feature. Resolve performance issues faster by quickly isolating problematic components.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
format nvarchar field as mm/dd/yyyy 4 61
SQL Select - Finding chars in a column 2 56
Following an example - removing duplicate strings 4 48
Problem with SqlConnection 4 159
When writing XML code a very difficult part is when we like to remove all the elements or attributes from the XML that have no data. I would like to share a set of recursive MSSQL stored procedures that I have made to remove those elements from …
In SQL Server, when rows are selected from a table, does it retrieve data in the order in which it is inserted?  Many believe this is the case. Let us try to examine for ourselves with an example. To get started, use the following script, wh…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now