复制期间列数据类型发生变化
我们有一组 MSSQL 数据库服务器,通常在它们之间复制多个数据库。一台服务器是 MSSQL 2008,另一台是 MSSQL 2005,最后一台是 MSSQL 2000。
这最近出了问题,我正在拼命地尝试修复问题。
我们有一台 MSSQL 服务器,每天早上都会从 Informix 服务器接收 Informix 数据库的副本,并将所有数据转储到 MSSQL 服务器上的 CompanyInformix 数据库中。据我所知,它这样做是正确的,没有错误。
一小时后,该 SQL 服务器将复制发布推送到我们的另外两个 MSSQL 服务器及其自身,将多个表从 CompanyInformix 推送到 CompanyInforbits。
在两台服务器上这工作正常。然而,在 MSSQL 2000 服务器上,当发布发生时,数据类型“date”的所有列都更改为数据类型“nvarchar(10)”。这是一个问题。
我认为这个问题的根源是 MSSQL2000 似乎没有“日期”数据类型。
这是上周的工作,我尝试重新创建上周进行的复制显然在某个地方出了问题。
任何人都可以建议这里可能出了什么问题以及我可以采取哪些措施来防止复制更改这些列数据类型?
We have a set of MSSQL database servers which normally replicate several databases between them. One server is MSSQL 2008, another is MSSQL 2005, and the last is MSSQL 2000.
This has recently gone wrong, and I'm trying kind of desperately to fix things.
We have one MSSQL server which, every morning, receives a copy of an Informix database from our Informix server and dumps all of the data into the CompanyInformix database on the MSSQL server. It does this, as far as I can tell, correctly, and without error.
An hour later, that SQL server Pushes a Replication Publication to our two other MSSQL Servers, and to itself, Pushing out several tables from CompanyInformix to CompanyInforbits.
On two servers this works fine. On the MSSQL 2000 server, however, when Publishing occurs, all of the columns of datatype "date" are changed to datatype "nvarchar(10)". This is a problem.
I assume the root of this problem is that MSSQL2000 doesn't appear to have a "date" datatype.
This was working last week, and my attempt to recreate the Replication that was going on last week has obviously gone wrong, somewhere.
Can anyone suggest what might be going wrong, here and what I can do to prevent Replication from changing these column datatypes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,正确的,SQL Server 2000 不支持日期数据类型。
这里有一个混合复制拓扑,因此您必须实施一些 Microsoft 建议来使用这种环境。
查看以下参考:在复制拓扑中使用 SQL Server 的多个版本< /a>
如果您将发布处的数据类型修改为日期时间,您“应该”能够在整个拓扑中维护此数据类型。
Yes correct, the date data type is not supported in SQL Server 2000.
What you have here is a mixed Replication topology, so you are going to have to implement some of the Microsoft recommendations for working with such an environment.
Take a look at the following reference: Using Multiple Versions of SQL Server in a Replication Topology
If you modify the data type at the Publication to be datetime, you "should" be able to maintain this data type throughout the topology.