问题标签 [sp-send-dbmail]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 附件文件 \\SERVER\file.csv 无效。[SQLSTATE 42000](错误 22051)。步骤失败
我有 4 个 SQL 服务器:SQL Server 2005、SQL Server 2008、SQL Server 2008 R2 和 SQL Server 2012。
在 SQL Server 2008 R2 中;我创建了一个 SQL 作业,它每周一向我发送电子邮件,其中包含来自 SQL Server 2005、SQL Server 2008 和 SQL Server 2008 R2 的关于 3 个月以前的数据库的报告,并且运行良好。
但是,现在我想添加 SQL Server 2012,作业失败并出现以下错误:
以用户身份执行:NT AUTHORITY\SYSTEM。配置选项“显示高级选项”从 1 更改为 1。运行 RECONFIGURE 语句进行安装。[SQLSTATE 01000](消息 15457)配置选项“Database Mail XPs”从 1 更改为 1。运行 RECONFIGURE 语句进行安装。[SQLSTATE 01000](消息 15457)附件文件 \\ServerName\ShareName\Path\SQL2012_DB.csv 无效。[SQLSTATE 42000](错误 22051)。步骤失败。
如果我在 SQL Server 2012 上创建相同的作业,我会发现它SQL2008R2_DB.csv
是无效的。
以下是 SQL Server 2008 R2 上作业的步骤:
是我缺少的 SQL Server 2008 R2 和 SQL Server 2012 之间的权限问题还是其他原因?
sql-server - SQL Server sp_send_dbmail - 如何将邮件发送到 Gmail?
我正在使用sp_send_dbmail
它运行良好,除非我使用 Gmail 帐户发送给收件人。数据库邮件日志给出以下错误:
所有未使用 Gmail 的收件人都能正确接收邮件。
当我手动使用 Outlook 向此 Gmail 帐户发送邮件时,它正在工作。收件人正确接收消息。SQL Server 邮件帐户未使用 Gmail。我使用端口 25 和 SSL(我尝试不使用 SSL,但它也不起作用)。
下面是过程调用:
sql-server-2008 - sp_send_dbmail 陷入循环发送数百封电子邮件
我设置了一个触发器以插入到表中,然后希望安排一个代理作业以从所述表发送电子邮件。我有触发器工作,我认为我让 SP 可以正常发送电子邮件,但我的循环卡住并在我取消 SP 之前发送了数百封电子邮件。对我做错了什么有任何想法吗?我使用BatchEmailID
作为标志来知道需要发送什么以及不需要发送什么,'0' = 它没有被发送并且需要去并且'1' = 它已经被发送所以忽略。
创建表:
插入值:
sp_send_dbmail:
sql-server - 如何使用 concat 创建字符串以分配给变量
我正在使用 sp_send_dbmail 存储过程,并且试图将查询的结果包含在正文字符串中。我似乎无法让它工作。任何想法将不胜感激。
显然这个例子只是一个简单的测试,但它正是我想传递给存储过程以包含在电子邮件正文中的数据类型。我期待您的回复,非常感谢您的任何建议!
sql-server - SQL Job (Send Mail) - 错误格式化查询可能参数无效
我知道这在过去已经出现了很多,但在这种情况下,我在谷歌上搜索或找到的修复都没有对我有用。
我正在运行一个相当标准的 SQL Server 代理作业作为 Transact-SQL 脚本,其中包含以下详细信息:(为了我老板的理智,将一些东西替换为 ***)
-- 启动 T-SQL
-- 结束 T-SQL --
查询本身作为正常查询运行良好,没有任何问题。此作业的所有者已再次用于其他作业,没有任何问题。在步骤属性中选择的数据库与@execute 行中提到的相同。
我有一种感觉,这要么是它试图创建 csv 的方式,要么是与 dbmail 部分的权限有关。我只是兼职 DBA,所以现在我失去了我,我需要帮助。
sql-server - 使用 SEND_SP_DBMAIL 的存储过程向已从列表中删除的收件人和其他人发送不正确/重复的电子邮件
我有几个 (12) 存储过程,它们被编程为每晚运行的作业中的步骤。每个存储过程都将查询结果发送给几个收件人。实际上有 4 个过程 - 每个过程与三个数据库中的一个和一组不同的收件人相关联,总共有 12 个。收件人的其中一个电子邮件地址无效。发生这种情况时,四个程序中的一个(但只有一个!)开始生成重复的电子邮件。
我从使用 SP_SEND_DBMAIL 向所有收件人发送重复电子邮件的存储过程中了解到,无效的电子邮件地址可以启动重试尝试。因此,我删除了有问题的地址,并将 DBMail 配置上的帐户重试次数减少到 0。但是仍然会生成电子邮件。它们被发送到已被删除的无效电子邮件地址以及其他收件人。
如果我手动运行作业,则不会生成重复项。我已尝试删除并重新创建作业,但问题仍然存在。我已更改作业的时间表以在另一个时间发送 - 即使已删除重复的电子邮件,也会与原始时间表同时发送。查看工作/邮件历史记录,有问题的电子邮件不会出现。
这是某种错误吗?该过程的SQL如下所示,以供参考:
tsql - 在 SQL 中创建 PDF 文档
我正在用 T-SQL 编写一个发送邮件的存储过程。我希望为这些电子邮件添加附件。我有一个 html 字符串,我想将其转换为 pdf 并附加到我的电子邮件中。
我正在使用 selectPDF 将我的 html 转换为 pdf。
这一切都可以在sql中完成还是我必须编写一个应用程序来创建pdf文档?
sql-server - 在 msdb.dbo.sp_send_dbmail 中,@profile_name 无效
我使用 SQL Server 作业来执行SendEmail
存储过程。当@recipients
是我们指定的电子邮件地址时,这项工作工作正常。
由于我无法登录我们指定的电子邮件地址来检查电子邮件是否已收到,我想更改@recipients
为我的电子邮件地址
问题是当我进行更改时,作业历史记录显示该作业未执行。错误是
Profile_name 无效
有人对此有任何想法吗?
这是示例。
我想更改@recipients = 'isss@xxx.edu'
为@recipients = 'myemail@xxx.edu'
检查是否已收到电子邮件。但是一旦我更改它,SQL Server 作业就会失败。错误显示
配置文件名称无效。
sql - SQL Server DB_mail 发送多个计数
我db_mail
在 SQL Server 2008 r 2 中使用每天发送邮件计数。
如何每天发送 1 封包含 3 个计数(计数 A、计数 B、计数 C)的电子邮件?
sql-server - 触发器性能调优
我正在运行 SQL Server 2008 R2,并且我有一个触发器,它插入到一个表中,然后 asql 代理作业每 10 秒启动一次以运行 sp 以发送电子邮件通知。我遇到的问题是,当大量插入同时发生时,通知可能会挂起并且在插入发生后几分钟(有时长达一个小时)内不会发送出去。 tb_BatchEmail 只接收一次插入几个(2-3 个),是 Orders 表可以同时进行几十个插入。所以我的问题是 - 这是设置这种类型的触发器的最佳方法,还是有更好的方法更有效并且在同时发生大量表插入时不会落后?
这是触发器:
这是设置为通过服务器代理作业每 10 秒启动一次的 sp: