【问题标题】:Transferring SQL Server data via e-mail automatically every day每天通过电子邮件自动传输 SQL Server 数据
【发布时间】:2013-12-16 10:04:35
【问题描述】:

我们需要能够通过电子邮件从位于远程区域的多个数据库中获取单行的副本,然后能够将数据库导入另一个 SQL Server,以便可以在每天结束时查看统计信息由客户。我们必须这样做的唯一许可是通过电子邮件,因为它是客户的意愿,我们一遍又一遍地尝试让客户允许我们更多地进行转移,但他们不会让步。任何帮助都会很棒!

【问题讨论】:

  • 电子邮件确实不是理想的“媒体”。我可以坚持让客户放弃通过复制或服务代理来完成工作的权限,表明我们可以依赖它来确保安全。无论如何,您需要以这种方式处理多少数据?千兆字节/小时?延迟不是问题吗?他不允许你在那台服务器上做什么?
  • 不幸的是,我们的客户只会坚持使用电子邮件来这样做,如果我们不需要使用电子邮件,我们将能够在瞬间做到这一点。但是数据很少,它是 1 行 100 个数字,上面有时间和日期。它每小时自动更新一次。
  • 您可以编辑您的问题,因为几行几乎不符合“获取 SQL 数据库的副本”的条件。听起来您正在获得更多的数据和元数据。顺便说一句,电子邮件可以处理它(当然,这不是最安全可靠的方式)。首先要记住的是,电子邮件可能会无序到达(好吧,不太可能发生在后续邮件之间的 1 小时内,但要做好准备)在该电子邮件中放入某种序列信息是一个好习惯。
  • 好的,总而言之,数据可能会更大,因为这些信息将从世界各地的 15 个不同的 SQL Server 中提取,并使用互联网的卫星链接进行补充连接,因为它们目前在海洋中。所以我知道电子邮件将(很可能)以错误的顺序被检索。那么这是怎么做到的呢?
  • 当然,您需要该电子邮件中的服务器时间戳和序列字段。正如 Jorge 评论的那样,创建一个从服务器接收它的服务(一个简单的作业可以从每个服务器中提取它)并将这些消息放入队列中以按正确顺序处理是有意义的。此外,为了使其可靠,您不需要处理错误、错误消息等,这有点令人头疼。

标签: sql-server database email


【解决方案1】:

查看sp_send_dbmail

您可以使用它将任意 SQL 查询的输出作为电子邮件附件发送。您的客户可以保存附件并使用它批量插入到他们的数据库中

【讨论】:

  • DB Mail 可以发送但不能接收。
  • 回答如何使接收方自动化需要更多关于客户基础设施的信息。由于客户在海上使用卫星上行链路,因此很难假设他们手头有什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-07
  • 1970-01-01
  • 1970-01-01
  • 2017-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多