【原创】记一次Sql2008R2的数据库订阅发布遇到的问题!

1.首先新建一个空的数据库 CreditTest,里面没有任何表结构,视图,数据等。

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表由于没有主键所以未创建,需要手动进行该表的创建。
问题即可解决。

   注意:此表的 数据为空,未复制过来。

原文地址:https://www.cnblogs.com/x-poior/p/5311433.html