【同步複製常見錯誤處理3】找不到儲存的過程 sp_MSins_tablename

中國風發表於2015-01-05

環境在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、生成同步儲存過程指令碼,找到沒有生成同步儲存複製,在訂閱端執行。


微軟官網介紹:點選開啟連結

相關文章