我不确定它是否会引起问题。但是在我们的环境中,只要从大型表中进行选择,我们就需要包含WITH(nolock)
,否则我们会在select语句和Informatica实时复制之间出现死锁,试图填充这些表。目前,我们希望使用SQL作业来清除表中的旧记录。大多数表每周删除少于1000行。在初始清除过程中,将有几个表将删除数百万条记录。
不确定在清除期间暂停实时复制是否更好,或者只是在出现冲突时尝试解决冲突。
我没有一个很好的方法在Dev环境中测试它,因为没有相同数量的人在请求服务器,实时更新和其他所有在生产中构成正常负载的服务器。在生产中,这将在慢速时段每周运行一次,这应该最小化总负载,但仍然不希望每次运行时都会使Informatica崩溃。
注意:这个问题不是关于如何在SQL中编写删除语句或在小块中破坏删除,而是如何避免与使用Informatica产品的实时复制冲突。
数据库 - SQL Server 2012
复制 - Informatica 9.0.1