我们拿了一个SQL 2000数据库。 做了一个速度备份。 在SQL 2008主动/被动群集上还原。 然后设置复制将数据复制回SQL 2000.所以2008年是发行商/分销商,2000年正在做订阅。 一切正常,execpt我们有时在用户的varchar /文本字段中损坏的数据。
例如,我们有一个有4500条logging的表格。 当我们运行这个语句时:
update MedstaffProvider set Notes = 'Cell Phone: 360.123.4567 Answering Service: 360.123.9876' where LastName = 'smith'
2008年数据库中的logging按预期更新。 但是在子数据库中,我们会在注释字段中看到乱码:
óPÌ[1] T $Oé[1] ð²ñ. K
以下是我们所知道的:
我们find了解决这个问题的一个解决scheme。 基本上如果我们在2008年重新创build表格(比如MedStaffProvider2),然后插入所有的数据。 放下原来的桌子。 将表重命名为它的原始名称。 再次设置复制。 并运行完全相同的更新声明,按预期工作。
有没有人有任何想法可能发生在这里? 或者有没有其他技术可以用来排除故障? 我find了一个解决scheme,但真的想要解决这个问题。
如果在分发数据库和订阅者数据库上运行SQL事件探查器,您是否在分发数据库和订户或订阅者上看到损坏的数据?
您是否尝试在发行商/分销商上运行分销代理?
SQL Server 2008没有改变它处理某些字段的方式,由于unicode或类似的东西?
本指南可能会提供一些指导。 也许你在迁移中忽略了一些东西?
编辑: 这篇文章指向任何可能导致它?