【问题标题】:Create a job in Microsoft SQL Server Management Studio在 Microsoft SQL Server Management Studio 中创建作业
【发布时间】:2020-05-11 08:21:14
【问题描述】:

我想在管理工作室创建一份工作。这项工作需要检查一个访问表中是否有“新”或“更改”。这必须每 5 分钟运行一次。

如果我创建作业,下一个弹出窗口就会出现。

命令部分应该填什么?

支票必须来自此表“GRV_Audit_ChangesCreditorBankaccount”

【问题讨论】:

    标签: sql-server command ssms jobs


    【解决方案1】:

    这实际上取决于您要执行的操作 - 发送电子邮件通知插入/更新,在另一个表或数据库中记录插入/更新的详细信息,甚至回滚或阻止插入/更新。

    可能性很多。

    您可能需要问自己(或您的老板或提出请求的人):当目标表中的数据被更新或插入时,您希望执行什么操作?

    很可能会证明 SQL 代理作业不适合目的。您最终可能会查看触发器或数据库审计来实现您的目标。

    【讨论】:

    • 您好,我想查看表中的记录是否已更改、删除或添加。我拒绝使用包含债权人银行帐号的表格。
    • 您将数据与什么进行比较?一旦表中的数据被更新或插入,它就是事实的来源。如果这是唯一包含这些银行帐号的表格,那么您就没有比较的意义了。
    【解决方案2】:

    您可以尝试将其作为可能的解决方案进行调查...

    1. 创建一个与您的银行帐号表结构相同的空表。
    2. 在原始表上添加一个 AFTER TRIGGER,以便在更新原始表时将数据额外插入到新表中

    https://docs.microsoft.com/en-us/sql/t-sql/statements/create-trigger-transact-sql?view=sql-server-ver15

    或者,如果您使用的是 SQL Server 2016 或更高版本,您可以将您的银行帐号表实现为临时表,这或多或少会自动执行与上述相同的操作。

    https://docs.microsoft.com/en-us/sql/relational-databases/tables/temporal-tables?view=sql-server-ver15

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 2013-09-14
      相关资源
      最近更新 更多