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
你会发现已存在所需存储过程
新增记录查看是否正常同步
做同步时注意,配置完,检查同步对象是否一致,不一致时建议在发布服务器,数据库—右健—生成脚本 —选中表—选项时(选择只数据生成脚本)