2009-07-22 82 views
0

我一直在運行一個存儲過程,它運行多個單獨的更新和插入語句。它還打印一些我可以在sql管理工作室中看到的狀態消息。我將自動執行此過程以便在一夜之間運行,但需要將輸出作爲最終檢查發送給我。sql server通過電子郵件發送輸出消息

我知道如何使用電子郵件存儲過程並使其工作,但無法找到消息輸出的位置(即受影響的10行)......都已存儲。

回答

1

像'10行參考消息影響」或打印輸出都直接發送到客戶端,你不能捕捉到它在Transact-SQL。但是,如果您是CLR過程,則可以將作爲客戶端,在這種情況下,您將從您調用的過程中獲取所有輸出。需要SQL Server 2005或更新的CLR。

更好的選擇是讓程序創建一個真正的輸出,如行集結果或輸出參數。

1

您可以將輸出總是存儲在表

exec master..xp_sendmail  
@recipients = '[email protected]',  
@subject = 'my alert'.  
@query = 'select * from mytable'  
+0

您將不得不在服務器上設置SQL Mail以使其工作。 – 2009-07-22 14:52:19

0

你不能從T-SQL信息的消息。

0

PRINT @WIDELOAD