Sql-Server
找不到與工作相關的活動電子郵件通知
我們有一封通過我們的 SQL Server 發送的電子郵件通知,但是我找不到任何與之相關的工作或設置。它絕對是正確的伺服器,我以管理員身份登錄。電子郵件通過電子郵件運營商發送,作為相關伺服器上的設置。電子郵件肯定是從有問題的 SQL 伺服器發送的,因為當我在 sysemail_mailitems 中查詢 msdb 時,收件人收到的電子郵件肯定存在,如下面的螢幕截圖所示。我們要做的就是更改通知的接收者,但前提是我們知道在哪裡……
它可能來自工作或某處的儲存過程中。如果它是一個儲存過程,那麼在找到它之後,使用下面的工作搜尋來查找呼叫該 sp 的工作。
---- Search Job Steps SELECT J.name AS JobName, JS.step_name AS StepName, JS.step_id AS StepNumber, JS.command FROM msdb.dbo.sysjobs J INNER JOIN msdb.dbo.sysjobsteps JS ON J.job_id = JS.job_id WHERE JS.command LIKE '%XXXXXX%' ---- Search Stored Procs, might want to loop through all databases USE XXXXX SELECT DB_NAME() AS DatabaseName, SCHEMA_NAME(O.schema_id) AS SchemaName O.name AS SPName, MO.definition AS SPDefinition FROM sys.sql_modules MO INNER JOIN sys.objects O ON MO.object_id = O.object_id WHERE MO.definition LIKE '%XXXXXX%'
將 WHERE 子句替換為電子郵件本身中的一小部分,您有信心在定義的正文中。如果電子郵件中的某些內容是動態的或每次都相同,則從您的文章中並不明顯。