SQL Server中作业执行的原子性

时间:2018-08-30 04:46:16

标签: sql sql-server atomic

我想找到合适的文档来确认我对我最近编写的SQL Server作业的想法。我担心的是数据可能会在几毫秒内不一致(作业执行开始到结束之间的时间)。

让我们将作业设置为每30分钟运行一次。下面的SQL语句只有一步:

DELETE FROM myTable

INSERT INTO myTable 
    SELECT * 
    FROM myTableTemp

是否可能恰好在SELECT语句和DELETE语句之间执行INSERT查询并返回空结果?

如果我将在工作中创建两个步骤,一个用于DELETE查询,另一个用于INSERT INTO,该怎么办? SQL Server是否在一项工作的多个步骤之间保护原子性?

感谢您对此的帮助

1 个答案:

答案 0 :(得分:0)

否,没有对作业的自动原子处理,无论它们是多条语句还是多步。

使用此:

begin transaction
delete...
insert....
... anything else you need to be atomic
commit work