当前位置: 首页 > 知识库问答 >
问题:

更新SQL Server中的表的两个预定Python脚本——两个都运行无误,一个不更新它的表

卢树
2023-03-14

(相同的情况发生在4个不同的服务器上 - Windows服务器2019)

我有两个Python3脚本,每个运行在独立的Windows任务调度器任务下。

详细信息:

  • 任务1运行脚本1-任务2运行脚本2(为这个问题泛化)
  • 两个脚本对两个Windows任务计划程序任务使用相同的凭据
  • 两个脚本对SQL服务器使用相同的凭据
  • 两个脚本都更新同一SQL服务器数据库中的表(凭据对两个表具有相同的权限)
  • 两个脚本都运行没有错误(RC 0)
  • 任务1-脚本1应该更新表A
  • 任务2-脚本2应该更新表B
  • 在Windows任务计划程序下运行
    • Task1/Script1/表A得到更新
    • Task2/Script2/Table B没有(如前所述,没有错误)

    从凭证方面来看,一切都是完全相同的。如果我导出Windows任务计划程序任务并并排查看它们-它们是相同的(除了脚本名称和计划运行时间)[没有前面所述的错误:-)只是希望清除-不更新其表的脚本上的RC 0]

    Windows事件日志中没有任何内容表明存在问题

    =

    我尝试以Windows 2008运行(在任务调度程序中)-没有区别(此时尝试任何操作)

    只有当按计划运行时,其中一个表才不会更新(每次都是相同的任务/脚本/表——在四个不同的服务器上)。

    我已经在所有四台服务器上重新创建了任务,等等。-同样的问题。

    在这一点上我被难住了。

    有没有人能给我指出一个我还没有探索过的方向,或许能对这个问题有所启发?

    预先感谢

共有1个答案

简烨烁
2023-03-14

这四个不同的服务器位于不同的区域,并且所有服务器都具有相同的运行计划时钟时间-这没有问题,因为它们都位于不同的时区。

显然,(在我不知情的情况下),一直在努力将所有设备移动到UTC时间——不管在哪里——所以现在我所有的服务器都有相同的时钟时间。因此,所有四台服务器在完全相同的时间运行脚本,并在数据库上创建一个锁。

我没有收到任何可以看到的错误,脚本的其余部分按预期执行。

我没有怀疑锁定,因为由于时区不同,脚本应该在当地时间运行,它们不应该重叠。

从那以后,我错开了运行时间,并且我按预期在表格中看到数据。

 类似资料:
  • 问题内容: 我正在尝试使用表B中的数据更新表A。我认为我可以执行以下操作: 但是a,这行不通。 有人知道我该怎么做吗? 问题答案: 您的查询不起作用,因为您没有 FROM 子句来指定要通过A / B别名的表。 请尝试使用以下内容: 就我个人而言,我更喜欢使用更明确的联接语法以保持清晰,即

  • 问题内容: 我有两个表需要相同的值以实现非规范化。 这是查询。 第一张桌子 第二张桌子 如您所见,两个表之间的唯一区别是它们的名称和两个表没有该字段 无论如何将两个更新合并为一个? 问题答案: 如文档中所述,应该可以进行多表更新。 http://dev.mysql.com/doc/refman/5.5/en/update.html 注意:多表不支持LIMIT,因此根据具体情况,这可能会引起更多麻烦

  • 问题内容: 假设我有一个名为example的表格,如下所示: [abc] | [def] --1 — | -qwerty- --2 — | -asdf — 我想要做的是在一个SQL查询中更新两个列(仅使用一个UPDATE)。 以上是我要实现的内容,但是在一行sql中(使用MySQL)。我知道您可以这样做,但是我不确定如何使用两个不同的where语句来做到这一点。 问题答案: 您可以使用( mysq

  • 本文向大家介绍SQLServer批量更新两个关联表数据的方法,包括了SQLServer批量更新两个关联表数据的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了SQLServer批量更新两个关联表数据的方法。分享给大家供大家参考,具体如下: 方式1: 方式2: 希望本文所述对大家SQL Server数据库程序设计有所帮助。

  • 问题内容: 我是SQL的新手,有人可以帮助我修复触发器问题吗? 我有这两个表(“评论”和“报价”),我想更新“评论”表,然后在“插入”,“更新”和“删除”中获取要约表中的数据。如果更新成功,我想使用ReviewId和ReviewDate更新商品表。 我正在使用Azure提供的SQL Server。 UserKey和Asin是唯一的值,所以这就是我用来链接这些表的东西。我将非常感谢您的帮助! 桌子:

  • 我有两个没有匹配值的表表表1 表2 我想更新下面的表2,这意味着对于103,我想要表1中的101个值 我曾经 除此之外,还有其他查询要使用吗?