Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在事务性复制中,可以强制复制的命令彼此跟随吗?_Sql_Sql Server_Database Administration_Transactional Replication - Fatal编程技术网

Sql 在事务性复制中,可以强制复制的命令彼此跟随吗?

Sql 在事务性复制中,可以强制复制的命令彼此跟随吗?,sql,sql-server,database-administration,transactional-replication,Sql,Sql Server,Database Administration,Transactional Replication,我们在SQL Server 2012机箱和SQL Server 2016机箱之间设置了事务复制 每半个小时,源表文章都会按删除然后插入顺序进行更改。此序列来自由SSIS包执行的存储过程。有时DELETE已复制到订阅服务器,但INSERT尚未复制到订阅服务器 结果是订阅服务器上临时缺少数据。当命令被复制到复制中的所有项目时,此临时状态可能会持续几分钟。这些表格项目用作订阅服务器SSRS报告的基础,由于此问题,SSRS报告变得不准确 在存放DELETE-INSERT语句的存储过程中,我们尝试将这两个

我们在SQL Server 2012机箱和SQL Server 2016机箱之间设置了事务复制

每半个小时,源表文章都会按
删除
然后
插入
顺序进行更改。此序列来自由SSIS包执行的存储过程。有时
DELETE
已复制到订阅服务器,但
INSERT
尚未复制到订阅服务器

结果是订阅服务器上临时缺少数据。当命令被复制到复制中的所有项目时,此临时状态可能会持续几分钟。这些表格项目用作订阅服务器SSRS报告的基础,由于此问题,SSRS报告变得不准确

在存放
DELETE-INSERT
语句的存储过程中,我们尝试将这两个命令包装在
BEGIN-TRAN
-
COMMIT-TRAN
中,但这似乎没有帮助

理想情况下,delete-insert可以使用不同的SQL命令组合在一起立即执行(有点像
MERGE
),或者将命令包装成类似于
BEGIN-TRAN
-
COMMIT-TRAN