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

来源:互联网 发布:李嘉诚逃离中国知乎 编辑:程序博客网 时间:2024/05/17 03:49

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

在发布端:

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


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


在订阅服务器:

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

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


--解决方法:

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

1、重复 步骤1

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

USE [DBName]GOEXEC 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]GOSELECT * FROM sys.procedures WHERE name LIKE 'sp_MS%' ORDER BY create_date DESC

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

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


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

1 0