【原创】记一次Sql2008R2的数据库订阅发布遇到的问题!
2016-03-23 15:41
225 查看
1.首先新建一个空的数据库 CreditTest,里面没有任何表结构,视图,数据等。
2.在已连接的服务器的下方找到“复制”选项,然后兴建发布:
...(新建发布成功)
...(新建订阅成功)
3.问题出现了:
问题1: 数据在同步的时候,出现错误。如图。
解决方案:经过 在发布数据库中 查找该视图 发现,该视图 没有被使用过,并且 里面包含了 发布数据库上 不存在的 数据表,所以导致 发布数据库 往 订阅库 同步 视图的时候 出错,导致了后期其他的 视图 以及大容量 数据 同步的失败。
经过从 发布数据库 删除该视图,同步顺利进行。
问题2:
原因是:
注意:此表的 数据为空,未复制过来。
2.在已连接的服务器的下方找到“复制”选项,然后兴建发布:
...(新建发布成功)
...(新建订阅成功)
3.问题出现了:
问题1: 数据在同步的时候,出现错误。如图。
解决方案:经过 在发布数据库中 查找该视图 发现,该视图 没有被使用过,并且 里面包含了 发布数据库上 不存在的 数据表,所以导致 发布数据库 往 订阅库 同步 视图的时候 出错,导致了后期其他的 视图 以及大容量 数据 同步的失败。
经过从 发布数据库 删除该视图,同步顺利进行。
问题2:
尝试的命令: CREATE VIEW [dbo].[V_Report_Dim_Applay] AS with app as ( select WorkflowId,max(CreationTime) mi from dbo.WorkflowStep where SubmitStatus=1 and StepName in ('提交审核','等待信用报告') group by WorkflowId) ,tmp as (SELECT a.ApplayCode,a.SaleCompanyInfoID CompanyInfoID,a.ProductInfoID ,dep.Name SaleDepartment ,sa.ID SaleUserID -- ,u.FriendlyName + '/' + c.CustomerCommissionerID AS SaleUser ,case when wf.CurrentStep in (''初审中','等待初审') (事务序列号: 0x00018A69000039B3004D00000000,命令 ID: 1095) 错误消息: 由于被引用对象或列在订阅服务器上不存在,因此无法复制视图或函数。 (源: MSSQL_REPL,错误号: MSSQL_REPL20164) 获取帮助: http://help/MSSQL_REPL20164 对象名 'dbo.t_SaleUser' 无效。 (源: MSSQLServer,错误号: 208) 获取帮助: http://help/208 由于被引用对象或列在订阅服务器上不存在,因此无法复制视图或函数。 (源: MSSQL_REPL,错误号: MSSQL_REPL2759) 获取帮助: http://help/MSSQL_REPL2759
原因是:
dbo.t_SaleUser表由于没有主键所以未创建,需要手动进行该表的创建。 问题即可解决。
注意:此表的 数据为空,未复制过来。
相关文章推荐
- 怎么查看oracle数据库数据量大小?
- mysql和oracle日期和字符相互转换
- plsql不安装oracle远程连接数据库
- MySQL5.7新特性之Multi-Source多源复制
- 浅谈SQL中的单引号
- mysql字符函数简析
- Oracle学习笔记【01】
- Redis初学笔记
- MySQL 字符串相关函数简析
- 查询oracle约束所关联的表
- MongoDB分片测试
- 版本引发的血案check the manual that corresponds to your MySQL server version for the right syntax
- Jena读取Mysql数据的本体数据
- SQLite数据库
- MySQL5.6相比5.5的新特性之GTID
- oracle学习笔记 oracle软件安装准备工作 第三部分 预安装
- MySQL数据类型--常用数据类型总结
- mysql创建用户以及授权
- MySQL MHA配置
- 利用Spark将DataFrame、Hive数据写入Oracle