我一直在運行一個存儲過程,它運行多個單獨的更新和插入語句。它還打印一些我可以在sql管理工作室中看到的狀態消息。我將自動執行此過程以便在一夜之間運行,但需要將輸出作爲最終檢查發送給我。sql server通過電子郵件發送輸出消息
我知道如何使用電子郵件存儲過程並使其工作,但無法找到消息輸出的位置(即受影響的10行)......都已存儲。
我一直在運行一個存儲過程,它運行多個單獨的更新和插入語句。它還打印一些我可以在sql管理工作室中看到的狀態消息。我將自動執行此過程以便在一夜之間運行,但需要將輸出作爲最終檢查發送給我。sql server通過電子郵件發送輸出消息
我知道如何使用電子郵件存儲過程並使其工作,但無法找到消息輸出的位置(即受影響的10行)......都已存儲。
像'10行參考消息影響」或打印輸出都直接發送到客戶端,你不能捕捉到它在Transact-SQL。但是,如果您是CLR過程,則可以將作爲客戶端,在這種情況下,您將從您調用的過程中獲取所有輸出。需要SQL Server 2005或更新的CLR。
更好的選擇是讓程序創建一個真正的輸出,如行集結果或輸出參數。
您可以將輸出總是存儲在表
exec master..xp_sendmail
@recipients = '[email protected]',
@subject = 'my alert'.
@query = 'select * from mytable'
你不能從T-SQL信息的消息。
PRINT @WIDELOAD
您將不得不在服務器上設置SQL Mail以使其工作。 – 2009-07-22 14:52:19