|
详细的情况再次有条例的编写,方便大家了解。
MSSQL主要replication的数据库就称呼dbreplicate,真正数据被删除是dbnobody。
sql的store procesure(称呼为sp_delete)是use dbnobody来执行,分析其他系统的员工信息再通过linked server连接去oracle数据库(称呼为dbOracle)进行某个表的记录删除(表称呼为staff)
整个过程中,replication并没有包括dbnobody。虽然他们是在同一个mssql instance。
所以,我不明白:
执行dbreplicate去replicate到其他DR,如何导致dbnobody的数据出现变化。进而导致sp_delete会删除dbOracle的staff表。里头有840行数据,被删除了500多行的数据。这是一个很没有逻辑的事情。
后记:
经过甲骨文的帮助,我恢复了dbOracle的表staff数据。但是,我还是很困扰。现在已经暂时停止replication。 |
|