合并复制与几何数据types

合并代理程序失败,因为在发布服务器上的文章架构不匹配在订阅服务器上的文章架构。 当在订阅服务器上等待应用DDL更改时,会发生这种情况。 重新启动合并代理以应用DDL更改并同步订阅。 (来源:MSSQL_REPL,错误号:MSSQL_REPL-2147199398)>

将数据typesvarchar转换为几何时出错。 (来源:MSSQLServer,错误号:8114)获取帮助: http:// help / 8114

我不确定这是否是一个错误,但是我可以使几何数据成功复制的唯一方法是在发布者上使用以下设置(文章属性,为所有表设置属性): –

Convert filestream to MAX data types - True 

奇怪的是,“将空间转换为MAX数据types”并不能解决这个问题。 为空间索引支持select“复制空间索引 – 真”也是必要的。 除此之外,默认值应该没问题。

要产生上述错误,请按照以下步骤操作:

– 步骤1:在sql server 2008 r2 enterprise或developer edition上创build数据库create database replicationtest; 走

如果OBJECT_ID('dbo.SpatialTable','U')不是NULL DROP TABLE dbo.SpatialTable; 走

–STEP 2:创build一个存储几何数据types的表CREATE TABLE SpatialTable(id int IDENTITY(1,1),GeomCol1 geometry,GeomCol2 AS GeomCol1.STAsText()); 走

–STEP 3:插入一些示例loggingINSERT INTO SpatialTable(GeomCol1)VALUES(geometry :: STGeomFromText('LINESTRING(100 100,20 180,180 180)',0));

– 步骤4: – 在此企业版上configuration分销商 – 在上述数据库上创build发布

– 步骤5:在SQL Server 2008 R2快速版上创build订阅者(使用推送订阅)

– 步骤6:现在一旦应用了快照,则两个数据库都是同步的

– 步骤7:在发布服务器INSERT INTO SpatialTable(GeomCol1)VALUES(geometry :: STGeomFromText('POLYGON((0 0,150 0,150 150,0 150,0 0))',0) ); 走

– 步骤6:启动复制监视器并观察错误:

合并代理程序失败,因为在发布服务器上的文章架构不匹配在订阅服务器上的文章架构。 当在订阅服务器上等待应用DDL更改时,会发生这种情况。 重新启动合并代理以应用DDL更改并同步订阅。 (来源:MSSQL_REPL,错误号:MSSQL_REPL-2147199398)>

 Error converting data type varchar to geometry. (Source: MSSQLServer, Error number: 8114) Get help: http://help/8114 

将SQL Server 2008兼容性设置设置为SQL Server 2008。

它可能被设置为SQL Server 2005兼容性,不支持几何列。