我们有一组MSSQL数据库服务器,它们通常在它们之间复制几个数据库。一台服务器是MSSQL 2008,另一台是MSSQL 2005,最后一台是MSSQL 2000。
这最近出了问题,我正拼命想要解决问题。
我们有一台MSSQL服务器,每天早上从Informix服务器接收一份Informix数据库,并将所有数据转储到MSSQL服务器上的CompanyInformix数据库中。据我所知,这是正确的,没有错误。
一小时后,该SQL服务器将复制发布推送到我们的另外两个MSSQL服务器,并将自己的表格从CompanyInformix推送到CompanyInforbits。
在两台服务器上运行正常。但是,在MSSQL 2000服务器上,发生发布时,数据类型“date”的所有列都将更改为数据类型“nvarchar(10)”。这是一个问题。
我认为这个问题的根源是MSSQL2000似乎没有“日期”数据类型。
这在上周工作了,我上周重新创建复制的尝试显然已经出错了。
任何人都可以建议可能出现的问题,在这里以及我可以做些什么来阻止复制更改这些列数据类型?
答案 0 :(得分:1)
是的,SQL Server 2000不支持日期数据类型。
这里有一个混合复制拓扑,因此您将不得不实施一些Microsoft建议来处理这样的环境。
请查看以下参考资料:Using Multiple Versions of SQL Server in a Replication Topology
如果您将Publication的数据类型修改为datetime,则“应该”能够在整个拓扑中维护此数据类型。