SQL Server数据库同步问题
我们可以通过数据复制跨局域网 Internet在不同的数据库服务器上面维护多个数据的多个拷贝 同时以同步或异步的方式保证各个拷贝之间的数据一致性
SQL Server提供完善的内置数据复制能力 它是SQL Server核心引擎非常重要的一部分
SQL Server的复制分为三种方式
快照复制 在某个时间点对于出版数据库中的数据照相 然后将其复制到定购服务器上 一般用于复制静态表
事务复制 复制的内容是多条语句和存储过程 这样定购数据库只是读取数据库的数据修改方式 并且反映这种修改 一般用户更新频率较高的数据库
合并复制 允许定购者和出版者的双向修改 并将修改反映到双方数据库上 如果数据有冲突 将会按照一定规则处理该冲突
目前单位有用到一个web网站 数据库分别位于美国 荷兰和深圳 在网站基础架构上 我们使用的是 DNS和BigIP实现智能域名解析和负载均衡 但由于三地具备各自的数据库(SQL Server) 需要保证各个数据库的数据一致 我们就需要做数据复制 根据用户的要求我们做的是事务复制 在网站的前两个版本都很正常 但在上两周更新了web页面版本后 发现事务复制经常出现错误 重新做事务复制在间隔不长的时间后仍然出现 后检查错误日志发现提示
The query processor could not produce a query plan from the optimizer because a query cannot update a text ntext or image column and a clustering key at the same
检查数据库表格 经过排查 确定存在问题的一个表格(XXX_article) 和程序员确认后发现此表格属性变更为ntext类型 而且会同时更新此字段和此表的聚集索引栏位
lishixinzhi/Article/program/SQLServer/201311/22297