我有数据库A和B,A将一些表发布到B,而B的订阅有错误:
...已被标记为无效,必须重新启动...错误21704
这些数据库上存在非常敏感的数据,我试图找到一种方法来防止数据丢失,或至少将其最小化。
我可以将数据库与此错误进行比较,还是需要先取消订阅?
我之前从未这样做过,并且找不到任何其他解决方案,而不是“你已经搞砸,删除并再次执行此操作”。
这会对数据产生多大影响?这个错误已经持续了几个星期。
答案 0 :(得分:0)
如果将来其他人有这些疑虑,我会发布我的经验。
可以在VisualStudio上使用自动执行任务的SQL Server数据工具进行比较,也可以通过简单的SQL查询手动进行比较。
我手动学习并更好地了解这个过程。这是我使用的代码:
--RUN THIS QUERY FROM THE DESTINATION DB
INSERT INTO TABLE_B
SELECT * FROM OPENQUERY([ORIGINAL-SERVER],'SELECT * FROM DB-A.DBO.TABLE_A')
WHERE FOREIGN_KEY NOT IN (SELECT FOREIGN_KEY FROM DB-B.DBO.TABLE_B)
希望这可以帮助将来的某个人。