【同步复制常见错误处理3】找不到存储的过程 sp_MSins_tablename
环境在SQL2008 R2同步复制时出错
这个错误提示是由于在订阅端没有找到同步时调用的同步存储过程,MS错误说明:
当某个事务发布在 SQL SERVER自动同步设置选择订阅服务器插入、 更新和删除存储在每个表都包含在该发布的订阅服务器创建过程。包含这些存储的过程的脚本是由快照代理程序创建和应用于订阅服务器在初始同步过程中的分发代理程序。如果手动同步订阅这些存储的过程将不会创建,并且必须手动创建。因为在这种情况下 (手动同步) 订阅服务器上不存在的存储的过程,则分发作业通过后续插入生成以下错误消息:
找不到存储的过程 sp_MSins_tablename
错误图片如下:
同DB对象有的对象OK,有的能生成同步存储过挰,接口,如下设置不效:
处理方法:
1、在发布端—发布数据中执行以下脚本
USE [发布数据库] GO EXEC sp_scriptpublicationcustomprocs '发布名称'
--查看没有同步存储的对象
USE DBName GO SELECT DISTINCT OBJECT_NAME(ID) FROM sys.sysdepends WHERE depid=OBJECT_ID('表名') AND OBJECT_NAME(ID) LIKE 'sp[_]%'
2、生成同步存储过程脚本,找到没有生成同步存储复制,在订阅端执行。
微软官网介绍:点击打开链接