我有一个奇怪的给你。我在迁移之前维护了几个数据库。其中之一是 2008R2 实例。这个实例在日志中有多个错误(基础设施维护不善),所以我设置了一堆警报(16-25)并尝试使用数据库邮件发送它们。但是邮件注册表设置不断重置并阻止它工作。我不知道是否有人在我身后恶意进入并恢复注册表中的设置(这在我工作的有毒环境中是可能的)或者是否是某种晦涩难懂的问题。
只是为了确认...我在 2017 实例上使用相同的邮件设置创建了相同的警报,我也在监控这些实例,没有问题。同样,在 2008R2 实例上,我可以成功设置数据库邮件参数,向自己发送一封测试电子邮件并执行一项作业,通过操作员使用相同的数据库邮件配置文件和用户发送一封“已完成”的电子邮件。
xp_instance_regwrite使用或设置参数sp_set_sqlagent_properties也不起作用,尽管我很早就意识到由于服务器上缺乏管理员权限,参数并没有保持不变,所以我让基础设施人员给我访问权限。我然后:
- 登录到服务器
- 关闭代理(它什么也没做)
- 配置注册表设置 (
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.<instance>\SQLServerAgent\UseDatabaseMail = 1,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10_50.<instance>\SQLServerAgent\DatabaseMailProfile = <my-mail-profile>) - 重新启动代理。
然后我从 SSMS 确认“邮件会话”参数(启用邮件配置文件、邮件系统和邮件配置文件)设置正确。一天后,日志充满了错误,我没有电子邮件,所有代理属性都是空的并且是灰色的!
有人见过这个吗?