SQL SERVER同步环境新增发布对象时不能生成(sp_MS+表名)同步存储过程

在配置了同步的用户环境(订阅端:请求订阅)

在发布端:

1、企业管理器SSMS—复制—本地发布—发布属性—项目(选中发布对象)

 

2、在企业管理里—查看快照代理状态(启动)

 

在订阅服务器:

 

USE [DBName]
GO
SELECT * FROM sys.procedures WHERE name LIKE 'sp_MS%' ORDER BY create_date DESC


发现没用生成对应的同步所需的存储过程

 

 

--解决方法:

--已经配置步骤1时省略

1、重复 步骤1

 或用以下命令格式在查询分析器里执行

 

USE [DBName]
GO
EXEC sp_addarticle @publication = N'DBName', @article = N'TabName',
    @source_owner = N'dbo', @source_object = N'TabName',
    @schema_option = 0x0000000008037ADF, @force_invalidate_snapshot = 1,
    @vertical_partition = N'false'
    
GO

 

 

2、执行以下命令

 

--对于所有现有的订阅服务器,将对其请求订阅中的新项目的订阅添加到发布中。 此存储过程在发布服务器的发布数据库中执行。
Exec sp_refreshsubscriptions 'DBName'   
GO  
--启动可为发布生成初始快照的快照代理作业 
Exec sp_startpublication_snapshot 'DBName'  
GO  

 

 

在订阅服务器:

 

USE [DBName]
GO
SELECT * FROM sys.procedures WHERE name LIKE 'sp_MS%' ORDER BY create_date DESC

 

你会发现已存在所需存储过程

新增记录查看是否正常同步

 

做同步时注意,配置完,检查同步对象是否一致,不一致时建议在发布服务器,数据库—右健—生成脚本 —选中表—选项时(选择只数据生成脚本)

 

posted on 2015-11-26 15:57  中國風  阅读(341)  评论(1编辑  收藏  举报